Thomas William Bradshaw, born 27 July 1992, Shrewsbury, England.
PART ONE
Tom Bradshaw´s youth football was spent at Aberystwyth Town from 2004 to 2008, the four years when most lads of that age are working out whether they are any good or merely good enough for the school team, and by 2008–09 he was in the club’s senior side, making nine appearances and scoring twice. Those are not numbers that would make anybody reach for the telephone, but somebody evidently did. The birth certificate would later hand him a choice, since a boy born in Shrewsbury and raised in Tywyn was eligible to represent either England or Wales, and the way things turned out the choice was made early and without much fuss, in favour of the country where he had grown up.
The man who noticed him, or at least the club that acted on the noticing, was just across the border. Shrewsbury Town signed him in May 2009, when he was still only 16 years old, and so the boy who had been born in the town returned to it after a childhood spent on the other side of the line. The paperwork would take a while to settle. A Shropshire Star report in July 2012 spoke of Shrewsbury having to pay a fee for Bradshaw, and the figure that went into the record books was £30,000, paid to Aberystwyth under the FIFA training compensation scheme, which exists so that small clubs who teach a youngster the game are not left empty-handed when a bigger one comes calling. It was a modest sum for a modest club to receive, but it tells you something that a Welsh side from the coast got a cheque at all, because it means the people at Aberystwyth had done their job properly and somebody, somewhere, had been paying attention.
Bradshaw did not have to wait long once he was in the building. On 10 April 2010, with the 2009–10 League Two season nearly done, Shrewsbury travelled to Gresty Road to face Crewe Alexandra, and with 15 minutes left the manager sent on the 17-year-old to replace Jamie Cureton. What happened next is the sort of thing that gets a boy talked about in the dressing room for years afterwards, because Bradshaw scored twice in those closing minutes and Shrewsbury won 3–0. Two goals on a Football League debut, in a ground where the home supporters would be wondering who on earth this kid was, is not a bad way to introduce yourself, and the club certainly took the hint. At the end of that season he signed a two-year professional contract, which was the reward for what amounted to a quarter of an hour’s work, and he finished the campaign with six appearances and three goals to his name.
The following season brought the first test of whether he was a flash in the pan, and the answer was a qualified yes in the best sense, since he scored six goals in 2010–11 from 30 appearances in all competitions, 26 of them in the league. Shrewsbury’s season stretched into the League Two play-offs, and he played in two of those games without finding the net, so there was no big finish to go with the debut, but a teenager getting a regular place in the first-team squad at a club that was pushing for promotion had no right to complain. Meanwhile the international side of things had quietly begun to move. Wales called him into the under-19 squad in September 2010, and on 14 September he scored on his debut in a 2–0 win away to Liechtenstein, and then on 20 October he scored again in a 3–3 draw with Turkey. Four caps and two goals at that level was the full extent of his under-19 record, and it was an eye-catching one for a lad who had not long ago been in a Welsh league side.
In September 2011 he was called up to the Wales under-21 squad for an away game against Montenegro and scored on his debut there as well, which meant that he had now scored on his first appearance at Football League level, at under-19 level and at under-21 level, a habit that any striker would be happy to have. But back at Shrewsbury the door had swung half shut. He made only eight appearances in the league that season and scored just once, against Accrington Stanley, and with ten appearances in all competitions it was not the sort of campaign that gets a forward noticed. There was a certain irony in it too, because while Shrewsbury were busy making their way up to League One, the young striker who had given them so much encouragement on his debut found himself watching from the bench more often than he would have liked.
PART TWO
The 2012–13 season, Shrewsbury Town’s first back in League One, did not improve matters. He was handed the number nine shirt, which is usually a sign that a club expects goals, and he made 22 appearances in all competitions, the great majority of them as a substitute, but did not score once. That is a hard thing for a striker to carry round, because every missed chance and every ball that runs a yard too long feeds the doubts, and the longer the drought runs the heavier the number nine feels on the back.
Nonetheless Shrewsbury kept faith with him. On 23 May 2013 he signed a contract extension of undisclosed length, and the new season was only a couple of weeks old when it paid off, since on 17 August 2013 he scored in a 2–0 home win over Swindon Town, his first senior goal in almost two years. It was the kind of strike that probably meant more to him than to anyone watching, and it did not turn him into a prolific scorer overnight, but it removed a weight, and he finished 2013–14 with seven league goals from 28 league appearances, 30 in all competitions, which was the best return he had managed since the opening season.
His international life, in the same stretch, took an odd turn. On 10 September 2013 he came on as a substitute in a goalless draw against Moldova’s under-21s, which turned out to be the last of his eight under-21 caps, and a month later, when he was called up again, he asked to be left out so that he could stay available for Shrewsbury. The under-21 manager, Geraint Williams, said he would not pick him again, though Bradshaw was in any case close to the age limit, so the door that closed was one that was going to shut shortly anyway. A sensible reading of that episode is that the lad knew where his bread was buttered, and that the thing he most needed was minutes in a League One side rather than a trip to a youth fixture, and the way things went from there it is hard to argue he got it wrong.
Shrewsbury were relegated to League Two at the end of 2013–14, and Bradshaw, who by now was 21, did not go down with them. On 23 June 2014 Walsall, a League One side, signed him on a two-year contract for an undisclosed fee, reported to be somewhere in the region of £50,000, which in the language of football transfers is small change. It would turn out to be one of the more profitable bits of small change a club had spent that summer, and Walsall’s supporters did not take long to find out why. He found the back of the net on his debut, on 9 August 2014, in a 1–1 draw away to Port Vale, and from then on the goals arrived with a regularity that he had not shown at Shrewsbury.
A hamstring injury picked up in a 1–1 draw with Bristol City on 4 October sidelined him for most of that month, and that same injury cost him a place on standby for the senior Wales squad’s Euro 2016 qualifiers against Bosnia and Herzegovina and Cyprus, a cruel piece of timing for a lad who had been so close to a first senior call. Even so he came back quickly and on 8 November he scored a last-minute equaliser in a 2–2 FA Cup first-round draw against Shrewsbury, his old club, which is the sort of moment a striker remembers, and the sort of moment that his old team-mates would have remembered a good deal less fondly.
By the middle of December he was among the goals in a way that the clubs round him took notice of. On 13 December 2014 he scored his tenth of the campaign in all competitions in a 3–1 win over Barnsley, a team he would have plenty more dealings with in the years ahead, and then on 7 January 2015 he scored Walsall’s second goal in a 2–0 away win over Preston North End in the first leg of the Football League Trophy Northern area final. That put Walsall in sight of Wembley, and they got there, because the Trophy final on 22 March 2015 was the club’s first match at the stadium, and Bradshaw started it.
It was not a happy afternoon, since Bristol City won 2–0, and the day ended in defeat for a side that had worked hard to be there, but there is not a lot of shame in losing at Wembley when you are a League One striker who, three years earlier, had been fighting to get a game for Shrewsbury. His season finished with 20 goals in all competitions, 17 of them in the league, which at 22 years old made him one of the most productive forwards in the division, and on 24 June 2015 Walsall tied him down by extending his contract until the end of 2016–17.
The 2015–16 campaign began with the sort of night that a striker keeps framed in his memory. On 11 August 2015, in the first round of the League Cup, Walsall travelled to Nottingham Forest, who were a Championship side, and Bradshaw scored three in a 4–3 victory, completing his first senior hat-trick with a penalty in added time. Beating a team from a division above is one thing, and doing it away from home in a game that goes to the wire is another, and the hat-trick put Bradshaw’s name in front of a lot more people than had been paying attention to him before. He went on to finish the season with 20 goals in all competitions again, 17 of them in the league, which meant that he had scored 40 for Walsall in 86 games, a rate that no manager in League One could have found fault with.
The Wales call came during that run too. On 4 November 2015 he was named in the senior squad for a friendly against the Netherlands, and on 13 November he sat on the bench as an unused substitute while Wales lost 3–2 to the Dutch. The wait for a cap was a short one all the same. On 28 March 2016 he replaced Tom Lawrence in the closing stages of a 1–0 friendly defeat to Ukraine in Kyiv, and that was his senior debut, which meant that a boy who had begun in the Welsh league and spent two years scrapping for scraps at Shrewsbury had a senior cap by the age of 23. The reaction was immediate, as these things go.
He was included in Chris Coleman’s preliminary squad for Euro 2016, but a calf injury forced him to withdraw, and with the summer’s biggest tournament going on without him, the news from the club side was only a little more cheerful, since Walsall turned down a bid from Preston in May. Walsall’s season had one more twist in store as well. They were beaten by Barnsley in the League One play-off semi-finals, and with the chance of a top-flight run gone, Bradshaw handed in a transfer request in July 2016.
PART THREE
On 14 July 2016, Barnsley signed Tom Bradshaw for an undisclosed fee on a three-year deal, and the club that had knocked Walsall out of the play-offs now had the striker who had been scoring against them. Barnsley were newly promoted to the Championship, having beaten Millwall in the League One play-off final at Wembley that summer, which gave them a spring in the step and the need for forwards who could handle the step up. Bradshaw scored his first goal for them on 27 August 2016 in a 4–0 win over Rotherham United, which is an interesting detail given where he would end up a decade later, and he finished that first Championship season with eight goals from 45 appearances, 42 of them in the league. Eight goals is a respectable return for a striker in a division where chances come in small portions and the defenders are stronger than anything he had faced before, and he had more than held his own.
The following season he did better still, though the story round him got worse. In 2017–18 he was the club’s top scorer with 12 goals, nine of them in the league and three in the League Cup, but Barnsley were relegated, which is the kind of outcome that takes the shine off any individual figure. There was one moment that season that nobody at Oakwell is likely to forget in a hurry. On 7 April 2018, with the club struggling at the foot of the table, Bradshaw scored a late winner in a 3–2 victory over South Yorkshire rivals Sheffield United, which was only Barnsley’s second win in 14 games and which dented United’s play-off hopes in the process. That was the best sort of result a relegation-threatened club can have, the type that makes everybody inside the ground forget the table for ten minutes, even if it was not enough to save the team in the end.
Barnsley began 2018–19 in League One, and Bradshaw played four games for them in it, scoring once. But by the summer of 2018 it was plain that a striker who had scored 20 goals in the Championship in two seasons would not be staying in the third tier for long, and the move, when it came, was to another club who had a recent history with him, or at least with the division, because London was calling. On 23 August 2018 Bradshaw joined Millwall, initially on loan until January 2019, at which point the deal would become permanent.
He signed a long-term contract for an undisclosed fee that was reported to be more than the club-record £800,000 they had paid Paul Goddard in 1989, which is a lot of money to hand a man who had just been relegated, and which showed how highly Millwall rated him. It would be hard to say that the first season went as planned. He made ten Championship appearances for the Lions without scoring, and then, in a game against Brentford, he suffered a knee ligament injury that ended his season in November. The BBC reported on 14 November 2018 that the Millwall and Wales striker was ruled out for the rest of the campaign, and that is a depressing headline for any player to read about himself, particularly one who had just moved to a new club for a record fee and had not yet had the chance to prove why. He was still a Millwall player when the loan became permanent in January 2019, which meant that the club were backing him through the injury, and that sort of loyalty tends to repay itself in the end.
It repaid itself quickly. His first goal for Millwall came on 13 August 2019, in an EFL Cup first-round tie away to West Bromwich Albion, where he equalised in a 2–1 win for the Lions, and then eleven days later, on 24 August 2019, he scored his first league goal for the club with his first touch after coming on as a substitute, earning a 1–1 draw away at Middlesbrough. Scoring with your first touch is a rare gift, and it made an ordinary afternoon into one of those stories that supporters pass on in the pub. The goals did not stop there, either, because in October 2019 he scored five in four consecutive games, a run that ended on 22 October with both of Millwall’s goals in a 2–2 draw with Cardiff City at The New Den, and that was enough to persuade the Lions’ fans that the club had signed a proper forward after all. He finished 2019–20 with ten goals in 48 appearances, eight of them in the league, and on a team that did not have goals to burn that counted for plenty.
The seasons that followed brought a mixture of form and frustration, as they do for most strikers at his level, and the figures show it. In 2020–21 he scored four times in 33 games, which was a lean year by anyone’s standards, and in 2021–22 he bounced back with nine from 28 appearances, a better ratio than most of the men leading the line in the Championship that season. His best of all came in 2022–23, when he scored 17 league goals from 41 league appearances, 43 in all competitions, and in the middle of that run he was named the EFL Championship Player of the Month for February 2023 after scoring five goals in the month.
A striker at 30 years old is not supposed to be producing the best figures of his life, as the old thinking has it, but Bradshaw’s best came in that very year, and the award was recognition for a player who had spent a decade doing his job without much noise. Wales, meanwhile, did not forget him altogether. He won eight caps in all, without scoring, spread over the years from 2016 until 2023, and it would be fair to say that the international stage was never quite his, with his best work done at club level, but a man who has played for his country eight times can say something that most professional footballers never will.
Then the goals dried up again. In 2023–24 he scored four in 36 appearances, and in the first half of 2024–25 he managed only one in 13 for Millwall, which was not what the club had come to expect and was a sign that the time to move on might be near. By then he had made more than 200 appearances for the club in all competitions in six years, which stood as one of the longer stays of his working life, and scored somewhere in the mid-forties, depending on whose figures you trust.
PART FOUR
On 16 January 2025, Tom Bradshaw joined forces with fellow Championship club Oxford United for an undisclosed fee, and a reunion was waiting for him at the Kassam Stadium, because the Oxford manager was Gary Rowett, a former Millwall boss. A move like that makes sense on paper, since a manager who has worked with a player knows what he can do, and the dressing room at Oxford was a place where Bradshaw would have known what was expected of him.
But it did not work out as either side would have wanted. He made 11 appearances in the Championship in the second half of 2024–25 and did not score, and in 2025–26 he played five league matches and two cup games, again without a goal, so that his Oxford account stood at 18 appearances and none to show for them. That is a poor return for a striker, and a worse one for a man who had made a living out of getting on the end of things, and there is not much to be said for it other than that it happens, and that when it does the sensible thing to do is just to move on.
He did, in the second half of the 2025–26 campaign, by returning to Barnsley on loan. By then the Oakwell outfit found themselves in League One, a long way from the Championship that he had left behind in the summer of 2018, but they were familiar surroundings, and the fans who had seen him score the winner against Sheffield United eight years before were not likely to have forgotten. He scored three goals during the spell, and two of them came in a 3–1 win away to Rotherham United in April, at the club’s New York Stadium, which was a quiet but effective way of letting a rival know that he was not finished. Rotherham, as it happened, had been interested in him in the winter transfer window, so the afternoon would have given them a bit of extra food for thought. Oxford, in the meantime, were relegated from the Championship that season, and when it was all over Bradshaw left them, having spent around 18 months at the Kassam Stadium and with a free-agent status that would be of use to someone before long.
The someone turned out to be Rotherham, and the signing was confirmed on 5 August 2026. Bradshaw joined the League Two club as a free agent, signing a contract until the end of the 2026–27 season with an option for a further year, subject to ratification by the English Football League and the Football Association, and the club’s manager, Alex Bruce, had a new striker who was, by general agreement, a long way from being a novelty. He was the club’s ninth new signing since the summer transfer window opened, and he joined a handful of other forwards who had arrived over the same weeks, including the former Wrexham favourite Paul Mullin and the ex-Coventry man Fábio Tavares, so the competition for places was going to be hard.
His first few weeks in the red and white were not a smooth start. Rotherham’s opening game of the season, an EFL Cup first-round tie at home to West Bromwich Albion on 8 August, ended in a 1–4 defeat, and Bradshaw was an unused substitute, and the early League Two fixtures brought a mixture of results, among them a 2–1 defeat at Cheltenham on the opening day. By late September he had one goal to his name, which is a long way short of 15, and a long way too early to read anything into, because a striker with a target of that size knows that it takes a full season to hit and that the gaps between goals are the things that get forgotten once the tally is up.
