Bowers was born in Low Santon, near Scunthorpe and, after playing for Scunthorpe works side Appleby Works, started his professional career with Scunthorpe & Lindsey United in December 1927. Five months later, he was transferred to Derby County, where he was to remain until 1936.
Derby County
He was signed for Derby County by manager George Jobey on 5 May 1928, on the same day as future England international Jack Barker. He made his debut in a 2–1 win over Bolton Wanderers at the Baseball Ground on 2 February 1929 and celebrated his first appearance by scoring. It was not until the 1930–31 season that Bowers was to become a regular selection at centre forward after the transfer of Harry Bedford to Newcastle United. His first match in this season came against Arsenal, which launched Bowers on the way to breaking the club's goal-scoring record. Having sat out the first nine matches of the season, Bowers scored 37 goals in the remaining 33 matches, including four in one game against Chelsea when the Rams beat the Londoners 6–2. He scored 15 goals in a run of six consecutive matches in January and February 1931. This magnificent spell of goal-scoring was the main reason why Derby reached sixth place and, for most of the season, were sitting on the edge of the leading pack. Bowers holds Derby County's record for the number of League goals in a season, although this was equalled by Ray Straw in the Third Division North campaign of 1956–57. The following season, he was again Derby's top-scorer despite only scoring 25 goals, but improved on this in 1932–33 with 35 league goals, thus making him the top scorer in the Football League First Division as Derby finished in seventh place in the table. Bowers also contributed eight goals in the FA Cup as Derby reached the semi-finals where they lost to Manchester City. This was the only round in the cup run in which Bowers failed to score, as he finished the season with a total of 43 goals from 47 matches. This remains Derby's goal-scoring record. His form continued into the next season, when he was again top scorer in the top flight with 34 league goals, plus three in the cup, with Derby reaching fourth place in the table. In the first six games of the season, he became the only Derby player to twice score in six successive matches; this run included two hat-tricks. His form for Derby brought him to the notice of the England selectors and he was given his first international cap in the 1934 British Home Championship against Ireland played at Windsor Park, Belfast on 14 October 1933. Bowers scored England's third goal in the 60th minute in a 3–0 victory. He retained his place for the next match against Wales on 15 November, but failed to score as England went down 2–1. As this victory enabled Wales to claim the British Home Championship title, Bowers' next match against Scotland was to have no bearing on the destiny of the title. Bowers scored in the 85th minute as England defeated the Scots 3–0. Bower also made two appearances for the Football League representative team. In September 1934, a serious knee injury sustained in a match against Spurs curtailed his Derby career and he lost his place to Hughie Gallacher. His recovery was slow, although in 1935–36 his 30 goals for the Reserves helped Derby to the Central League championship. He returned to the side for the start of the 1936–37 season; on 5 September 1936, Derby were losing 4–1 at home to Manchester United, when Bowers struck with four goals in an amazing 15-minute spell to give his side a spectacular 5–4 victory. By now he was no longer first choice and in November 1936 he moved to Leicester City for a fee of £6,000. In his eight years with Derby, he made 220 appearances, scoring 183 goals. Only Steve Bloomer and Kevin Hector have scored more goals for Derby.
Leicester City
Bowers joined Leicester City in November 1936, who had been relegated to the Football League Second Division in 1935. His arrival at Filbert Street galvanised Leicester's push for promotion and his 33 league goals from only 27 games helped them claim the Second Division title, just ahead of Blackpool, and also made him top scorer in the division. Back in the First Division, Bowers was now finding goal-scoring more difficult and he was sharing the goal-scoring responsibilities with Danny Liddle and George Dewis. The advent of World War II interrupted his career and he retired in August 1943. In his three League seasons, he scored 52 goals in 79 appearances, plus four goals in five FA Cup appearances.
Later career
In August 1943, Bowers was appointed coach to Notts County, working with the youth team. After two years, he returned to Derby County as assistant trainer, a position he held for over twenty years. He and his wife lived on Pear Tree Road, not far from the Baseball Ground, where they kept a shop. He died on 4 July 1970 in Lichfield, Staffordshire.
Family
His son John Bowers, Jr. played for Derby County between 1957 and 1966, making 65 League appearances in that time. Bowers is the first cousin twice removed of Keith Lindsey and Barry Lindsey, two other Scunthorpe players. The Lindseys are connected through their maternal grandmother's line.
Appearances for England
Achievements
;Derby County
Top scorer in 1st Division 1932–33 season: 35 goals
Top scorer in 1st Division 1933–34 season: 34 goals
Club record for total goals in one season: 37 goals in 1930–31 season
;Leicester City
Top scorer in 2nd Division 1936–37 season: 33 goals
Football League Second Division champions: 1936–37