Connacht had to fight all the way for this home win over Benetton Treviso, who finished strongly to garner a late losing bonus point.
With their stand-in captain Johnny O'Connor in the sin-bin, Connacht leaked a penalty try which Willem de Waal converted to get the Italians within a converted score.
But Eric Elwood's men, who had stormed into an early 18-0 lead, held on to move above Treviso in the Magners League standings.
Troy Nathan and the excellent Frank Murphy scored early tries to move Connacht 18-0 clear, before Michele Sepe and Manoa Vosawai responded for Treviso.
Ian Keatley, who finished with 16 points, kicked the hosts into a 24-12 half-time lead, but Treviso put the hosts under huge pressure late on.
Treviso took their time to settle at the Sportsground and an early sin-binning for Fijian flanker Vosawai, for a dangerous tackle on Ray Ofisa, left them in trouble.
They were already 7-0 down at that point, with a Keatley pass creating an overlap and Brian Tuohy drawing the defender for Nathan to score a converted opener.
While Vosawai was off, Keatley added a penalty and his half-back partner Murphy wriggled over for an 11th minute try following a good drive from Jamie Hagan and a quick recycle.
In a fast-paced opening quarter, Brendan Williams used counter attack ball to pose problems for the hosts. Their first scoring chance was missed by de Waal who was narrowly wide with a lengthy penalty.
Keatley stretched Connacht's lead to 18 points but this was Treviso's cue to raise their game. A defensive mix-up allowed winger Sepe scoop up a loose ball and dot down for de Waal to convert.
Vosawai bulldozed over from a good lineout platform for the second try, but Connacht took the sting out of those scores with two crisply-struck penalties from Keatley.
The impressive out-half gave Connacht a double scores lead at the break, and a 47th minute try for Tuohy had Elwood's side in sight of the bonus point.
A bounce of the ball caught the covering Williams out and the onrushing Tuohy gathered it to run in behind the posts. Keatley converted for a 31-12 advantage.
Back came the visitors with a brace of the de Waal penalties and Keatley missed a tricky shot at the posts as Treviso continued to improve.
The visiting forwards were imposing themselves suddenly with Williams threatening from the back. O'Connor was carded for an off-the-ball offence, and the Connacht scrum gave way for the converted penalty try.
But Connacht's determination got them over the finish line in an error-strewn finale, as they made it five wins in six games in all competitions.