Born John Brown in Collyhurst, England, he had his first professional fight on 18 May 1925, at the age of sixteen, defeating Harry Gainey on points over six rounds. In October 1929, he won the vacant British flyweight title, knocking out Bert Kirby in three rounds. The BBBofC subsequently recognised Brown as the World Champion, succeeding the later Johnny Hill, and received confirmation from the New York State Athletic Commission that they were willing to allow him to defend the title in the US. In March 1930, he defended the British title against Kirby, and was knocked out in the third round. In February 1931, he met Kirby for the third time, winning back the title with fifteen-round points decision. In May 1931, he won the European flyweight title, beating Lucian Popescu, of Romania on points. In the next two months he defended this title twice, winning on points against Emile Degand, of Belgium and Vincenzo Savo, of Italy. In October 1931, Brown married Mary Chapman. In September 1932, he defended both his titles against Jim Maharg, winning on a disqualification in the eighth, for a low blow.
World title
In October 1932, he fought Victor 'Young' Perez, of Tunisia for the World flyweight champion, beating him in thirteen rounds when Perez’ corner threw in the towel. Brown was recognized as world flyweight champion by the National Boxing Association of America. In June and September 1933, he defended his World and European titles against Valentin Angelmann, of France, winning both defences on points. In October 1933 he ran over and killed a woman with his car. In December 1933, he defended his British, European and World titles against Chris ‘Ginger’ Foran of Liverpool, winning on points. In June 1934, he defended his World and European titles against Angelmann, for the third time, this time, after his previous two wins drawing on points. Brown was sentenced to four months imprisonment with hard labour in August 1934 after being convicted of assault by occasioning bodily harm for biting a piece out of the ear of Louis Tarchman in a Manchester street after Tarchman had called him a "cheese champion". In 1935, Brown was stripped of his European title for not giving Angelmann a return bout. On 29 July 1935, Brown won two fights on the same night, stopping Jackie Quinn in the second round of twelve, and Sid Rose in the third of six.
Loss of World title
In September 1935, he defended his British and World flyweight titles against the talented Scottish fighter, Benny Lynch. He lost his titles when the referee stopped the contest in the second round. Later that month, he was fined £10 and had his driving licence endorsed after being caught speeding; At the trial it emerged that he had over 20 previous convictions for driving offences, some of them serious.
Following the loss of his titles, Brown continued fighting as a bantamweight. Having won the Northern Area title in October 1936, in May 1937 he fought holder Johnny King for the British bantamweight title, losing by a knockout in the thirteenth round. This was his last challenge for a national or international title, but he continued fighting until July 1939. He then retired, but made a one-fight comeback in February 1948, when he scored a points victory over Billy Stevens over eight rounds.