Damien Comer hit 1-04 from play as Galway kept a brave second-half comeback from Roscommon at bay to progress to next month's Connacht final against Sligo in front of 16,917 spectators at Dr Hyde Park.
Pádraic Joyce’s side were in the box seat at the break, deservedly leading by four points and in control of the contest.
But Roscommon turned the game on its head at the start of the second half with an unanswered 1-03, ignited by Ciaráin Murtagh’s superb 40th minute goal.
Galway had been rocked back on their heels, but Comer regained the initiative for his side when he reacted quickest to a Dylan McHugh effort that came back off the post to find the net in the 53rd minute.
The teams shared the first six points of the contest, but it was obvious from an early stage that Roscommon were struggling to gain any traction up front against disciplined Galway defending.
Ciaráin Murtagh kicked three frees for the hosts but there was greater variety in the Galway attack, with a Shane Walsh free sandwiched between points from play by Johnny Heaney and Damien Comer.
With every Roscommon mistake being mopped up by Galway, the visitors worked the ball from left to right, ending with wing back Cathal Sweeney fisting a point to edge his side 0-04 to 0-03 in front.

A loose pass by Ciaráin Murtagh saw Galway create a goal chance. but Comer’s goal chance was snuffed out by Conor Carroll. However there was some consolation for the Tribesmen when Comer pointed the rebound.
Galway kept coming and a brilliant last ditch by David Murray denied the impressive Dylan McHugh but, once again, a Galway player — this time John Maher — was on hand to mop up the rebound and split the posts.
Roscommon continued to struggle and a Ciaráin Murtagh effort that drifted harmlessly wide hinted at some desperation from the home side, even at this early stage.
Then, as the game, ticked into injury time, Comer landed his third point of the half to give Galway a deserved 0-07 to 0-03 interval lead.
A fisted point from Ian Burke within seconds of the restart suggested that the game’s trajectory wouldn’t be altered but Roscommon, helped by the introduction of Cian McKeon at the break, had other ideas and came roaring back into the contest.
Murtagh, Conor Daly and McKeon found the target before Ben O’Carroll found Enda Smith. The Boyle player released Murtagh who gave Bernard Power no chance and suddenly the Rossies led by a point.
They nearly added a second, but Conor Cox slipped at the wrong time after Roscommon had intercepted a Galway kickout.
Galway were rattled but they slowly regained their composure with a double from Matthew Tierney, including a mark, and the impressive John Maher edging them back in front.
Comer’s goal struck a dagger into Roscommon hearts and Galway managed to keep their opponents at bay for the remainder of the contest.
McKeon and Ciaráin Murtagh, who ended up with 1-06, added to Roscommon’s tally, but Galway closed the deal with a fisted Comer point to cement their place in next month’s provincial final.
Damien Comer reacts fastest to put Galway back in control after an uneasy start to the second half
— The Sunday Game (@TheSundayGame) April 23, 2023
📺 Live on @RTE2 and @RTEplayer
📱 Live updates: https://t.co/GzS36BoTh5
📻 Live on @RTERadio1 pic.twitter.com/Sur8ea2tH4
Roscommon: Conor Carroll; Conor Hussey, Conor Daly (0-01), David Murray; Niall Daly, Brian Stack, Eoin McCormack; Enda Smith, Keith Doyle; Ciaráin Murtagh (1-06, 0-03f), Ciarán Lennon, Dylan Ruane; Ben O'Carroll, Donie Smith, Diarmuid Murtagh.
Subs: Cian McKeon (0-02) for Donie Smith (h-t), Conor Cox for Diarmuid Murtagh (47), Cian Connolly for O’Carroll (60), Richard Hughes for Niall Daly (61), Daire Cregg for Ruane (65).
Galway: Bernie Power; Johnny McGrath, Seán Kelly, Jack Glynn; Dylan McHugh, John Daly, Cathal Sweeney (0-01); Paul Conroy, Matthew Tierney (0-02, 0-01m), John Maher (0-02); Johnny Heaney (0-01), Peter Cooke; Ian Burke (0-01), Damien Comer (1-04), Shane Walsh (0-02, 0-02f).
Subs: Robert Finnerty for Heaney (61), Cillian McDaid for Cooke (66), Daniel O’Flaherty for Sweeney (70), Dessie Conneely for Burke (70).
Referee: David Gough (Meath).