The match was finely balanced as Connacht led 6-3 early in the second half before Ospreys wing Jeff Hassler burst through for the first try.
The Swansea region cruised home after the Canadian’s opening score. A further Martin Roberts’ try and Sam Davies’s boot gave Liberty Stadium side a 26-6 advantage to get them back on track after their European humbling at Northampton. Eoin McKeon crashed over for a late Connacht consolation.
Ospreys, who have now won all seven Pro12 matches this season, are three points clear of second-placed Glasgow and 12 ahead of Connacht, who have slipped to sixth.
Both sides struggled to create any try-scoring opportunities during a first half full of poor kicks and handling errors – both sides lost possession six times.
Davies steered the Welsh side in front with a penalty after only four minutes, but Craig Ronaldson drew Connacht level before scoring another penalty shortly after the break.
Ospreys responded through full-back Dan Evans, who cut through the Connacht defence in the middle of the park before Hassler raced away to score in the corner.
Davies added the conversion and two penalties before replacement centre Ashley Beck offloaded for Roberts to touch down from close range on 61 minutes.
Five more points from the boot of Davies saw the Welsh region open up a 20-point lead. Connacht enjoyed their best spell of the match in the final 10 minutes, and McKeon drove over with three minutes remaining following a line-out.