Portumna now face Loughrea in the final in two weeks time – a repeat of tempestuous deciders between the two in 2003, 2005, 2006 and 2009.
Canning started at midfield for the side managed by his father, Frank, while Damien Hayes also impressed with three superb points from play.
St Thomas’ bossed the first half and led 1-6 to 0-7 at the break, but controversy surrounded a disallowed David Burke goal, which was chalked out because he was fouled on his way through.
Hayes hit two terrific points for Portumna in the opening half and he landed another after the restart in a dominant third quarter for Portumna.
Last week’s hero, Richie Murray, was again unable to start with a knee injury, but after his introduction he was unable to turn the game. This time round, Conor Cooney struck a late goal from a 20-metre free – his second of the game – to put just a point between the sides, but an enormous Canning free from deep in his own half extended that lead for the three times All-Ireland champions.
Cooney cut their lead to one with a free of his own but the clock beat St Thomas’ to end their first reign as Galway champions.
PORTUMNA: J Keane; G Heagney, E McEntee, P Smith; C O’Hare, M Dolphin, E Lynch; L Smith (0-1), J Canning (0-10, 9f, 1’65); K Hayes (0-1), D Hayes (0-3), A Smith; R O’Meara (0-2), O Canning, N Hayes (0-1).
Subs: O Royston for P Smith 45, O Treacy for R O’Meara 60.
ST THOMAS’: P Skehill; C Burke, Robert Murray, S Burke; D Cooney, Darragh Burke, E Tannion; K Burke (0-1), David Burke (0-2); J Regan (0-2), C Cooney (2-6f), B Burke; E Burke, S Cooney, A Kelly.
Subs: D Sherry for C Burke 2, Richie Murray for Kelly 44, G Muray for Tannion 51.
Referee: Leonard Fay.