It was a victory which takes the Welsh side up to second place in the table — but they are still nine points adrift of leaders Munster.
The Ospreys, who were missing 25 players – 16 on representative duty and nine on a lengthening injury list, had to come from behind twice in the first half before they could stamp their authority on the contest.
The home side enjoyed the majority of the possession in the first period but trailed on two occasions – 3-0 and 8-3.
Connacht took the lead in the third minute with a long range Ian Keatley penalty, following a lineout infringement.
For the next 20 minutes it was all the Ospreys, although all they had to show for it was a short range Biggar drop-goal just when a try looked certain to be coming their way.
The Ospreys were then stunned by Connacht scoring a try from their first legitimate attack. Keatley’s break set up wing Brian Tuohy, who put his captain Johnny O’Connor over in the right corner.
A golden opportunity of an Ospreys try went begging after centre Ashley Beck spilled Hanno Dirksen’s pass with the line at his mercy.
Two Dan Biggar penalties sandwiched a fine try for Richard Fussell, who ran a fine angle on to Beck’s pass, although the Connacht players were convinced it was a forward pass.
There was no such doubt about the Ospreys’ second try three minutes into the second-half however, which saw Wales wing Tom Prydie scorch down the left touchline after good work from Fussell, Beck and Sonny Parker.
And it was Parker who went in for the Ospreys’ third try on 61 minutes after some good work by replacement prop Ryan Bevington.
But the Ospreys lost their way for the next 15 minutes and were forced to defend before leaking a try by lock Mike Swift.
The home side, however, regrouped and in a final push for the fourth try, drove a five-metre line-out which saw 38-year-old Davies emerge from a pile of bodies having scored the vital try.
Ospreys scorers: Tries: Davies, Parker, Fussell, Prydie. Cons: Biggar 2. Pens: Biggar 2. Drop Goals: Biggar.
OSPREYS: Fussell; Prydie, Parker, Beck, Dirkson; Biggar, Webb; Jones, Bennett, Griffiths; Gough, Evans; Smith, Tipuric, Collins.
Replacements: Bishop for Beck (68), Bevington for D. Jones (51), M. Davies for Bennett (80), Cross for Griffiths (69), King for Evans (75).
Connacht scorers: Tries: O’Connor, Swift. Cons: Nikora. Pens: Keatley 2.
CONNACHT: Duffy; Tuohy, Ta’auso, Nathan, Carr; Keatley, Murphy; Wilkinson, Flavin, Hagan; Swift, McCarthy; Browne, O’Connor, Ofisa.
Replacements: Matthews for Nathan (54), Nikora for Keatley (65), Willis for Murphy (49), Loughney for Wilkinson (69), Ah You for Hagan (54), Upton for McCarthy (62).
Referee: Stefano Penne (Italy).