Connacht ended their run of four straight Pro12 defeats as they easily accounted for a disappointing Dragons side in Galway.
Two Dan Parks penalties helped Connacht lead 6-0 and a Mike McCarthy drive then helped set up a penalty try.
A George Naoupu try helped extend the lead to 20-0 before Tom Prydie replied for the Dragons before half-time.
Prydie notched another penalty but Danie Poolman's try made the game safe before Jonathan Evans's late reply.
Former Scotland fly-half Parks stamped his mark on a scrappy game with a 15-point contribution although Connacht will have been disappointed to miss out on a bonus point.
Eric Elwood's men played with great ambition and purpose in the opening half-hour and were clearly determined to bounce back from earning just a losing bonus point over their two-match festive programme.
The Dragons leaked a succession of early penalties, inviting the hosts forward and Parks popped over two kicks in the opening eight minutes.
Connacht continued to attack aggressively and Leinster-bound McCarthy forced a close-in scrum which eventually led referee Andrew McMenemy to award a penalty try.
Parks was the instigator for Connacht's second try in the 27th minute as his flat pass found a charging Dave McSharry who then off-loaded for Naoupu to score.
However, after Parks landed his second conversion, Connacht's momentum was halted by an injury to Naoupu who had to be stretchered off.
Prydie landed two penalties either side of the interval but Connacht wrested back control with a terrific third try which ended with man of the match McSharry drawing a defender to put Poolman over.
The South African's third try in six league starts was converted by Parks, who soon rewarded more hard grind from the pack with a drop goal from a tight angle.
Connacht had 20 minutes to aim for the bonus point, but handling errors and indecision blighted their play in the closing stages.
Instead, the Dragons, with Toby Faletau a constant driving force, salvaged some pride with a late unconverted try from 20-year-old scrum-half Evans - his first in the league.
Connacht: R Henshaw, D Poolman, E Griffin, D McSharry, F Vainikolo, D Parks, K Marmion, D Buckley, J Harris-Wright, N White (capt), M Swift, M McCarthy, A Browne, E McKeon, G Naoupu.
Replacements: O'Halloran for E Griffin (61), Jarvis for Parks (70), O'Donohoe for Marmion (47), Wilkinson for Buckley (52), Reynecke for Harris-Wright (61), Loughney for White (52), Kearney for Swift (61), Grace for Naoupu (31).
Newport Gwent Dragons: Hallam Amos; Tonderai Chavhanga, Adam Hughes, Andy Tuilagi, Tom Prydie; Lewis Robling, Wayne Evans; Phil Price, Sam Parry, Dan Way, Andrew Coombs, Rob Sidoli, Lewis Evans (capt), Nic Cudd, Toby Faletau.
Replacements: Dixon for Chavhanga (55), A Smith for Robling (69), O Evans for Price (59), Gustafson for Parry (48), Buck for Way (59), A Jones for Sidoli (59), Brown for L Evans (52), J Evans for Brown (71).
Referee: Andrew McManemy (SRU)