At the 2012 World Championship he came from a set down to defeat Warren French, 3–1 in the first round. Walsh played Kevin Painter in the Last 32 and came back from 1–3 to level the match at 3–3. He couldn't keep his momentum going, however, as he lost the deciding set by 3 legs to 0 to exit the tournament 3–4. At the World Matchplay, Walsh beat Colin Osborne 10–8 in the first round, before being comprehensively beaten 4–13 by James Wade in the last 16. Despite winning the first set in his first round match against Robert Thornton at the World Grand Prix, he only took one more leg and lost 1–2. Walsh qualified from Group 8 of the Championship League with a 6–5 victory against Steve Beaton. However, he finished bottom of the eight man Winners Group, winning just one of his seven matches. Walsh was whitewashed 0–5 in his opening Group H game of the Grand Slam of Darts, but came back to defeat both Wayne Jones and Christian Kist 5–4. However, his heavy defeat and narrow wins meant that he failed to qualify for the knockout stage on leg difference. After all 33 ProTour events of 2012 had been played, Walsh was 23rd on the Order of Merit, inside the top 32 who qualified for the Players Championship Finals. He was beaten 1–6 by Thornton in the first round.