The tempo from Connacht noticeably dropped after the turn with the second half lacking rhythm and featuring sloppy play from both sides.
Again Dragons enjoyed plenty of possession and territory, while still sensing an edge in the aerial battle, but were unable to turn that into points of any kind until the closing stages.
For their part, Connacht will have been frustrated by their own struggles to bank the bonus-point that had seemed to be a formality at the break.
When the fourth try did finally arrive seven minutes before the end, the much needed spark was provided by replacement scrum-half Matthew Devine who broke the line sharply before sending Cathal Forde over for the score.
With a little over three minutes remaining, the Dragons managed to get on the scoreboard.
A brilliant 50:22 kick from Angus O’Brien flipped the field and, despite a scrappy line-out, Taine Basham tidied up the loose ball and got across the line.
Connacht would have the final say, though, with Devine capping off his impressive cameo with an intercept score in the final play of the game.
Connacht: O’Conor; Bolton, Forde, Aki, Cordero; Ioane, Blade; Dooley, Tierney-Martin, Bealham; Joyce, Murray; Prendergast (capt), O’Brien, Boyle.
Replacements: De Buitlear, Buckley, Aungier, Murray, Jansen, Devine, Ralston, Gavin.
Dragons: Evans; Dyer, Westwood, Owen, Ewan Rosser; O’Brien, Blacker; Jones, Burrows, Coleman; Carter (capt), Screech; Lewis-Hughes, Keddie, Wainwright.
Replacements: Coghlan, Seiuli, Yendle, Cummins, Basham, Williams, Evans, Wilson.
Referee: Gianluca Gnecchi (FIR)