Wales centre Henson, switched to fullback for this game, continued his strong run of form by notching all of his side’s points in what was a thrilling clash from start to finish.
The victory was stolen from Ulster moments after they thought they ad the game won themselves courtesy of a penalty from David Humphreys.
Henson opened the scoring in the opening minutes in style after collecting a Humphreys kick before racing through the scattered defence to touch down. The conversion followed but the Ospreys failed to build on that lead.
Humphreys dominated for Ulster, and pulled three points back with the boot, before feeding Andrew Maxwell with an inspired pass who then beat the covering defenders before grabbing the visitors first try.
Henson pulled three points back to reduce the deficit but Humphreys soon edged his side back in front shortly before the break.
However, there was enough time for Henson to be gifted another shot for three, which he took and scored.
His third success five minutes after the restart increased the Ospreys’ advantage but Ulster were soon rewarded for their efforts to stay in the contest.
Scrum-half Kieran Campbell conjured the opening for winger Tommy Bowe to race onto and touch down for their second try. Humphreys’ conversion put the Irish province back in the lead 18-16.
Henson pulled his side ahead again with his fourth penalty before Ulser seemingly had the game won with Humphreys’ injury-time penalty.
But man of the match Henson had the last say to keep his side on course for the Celtic League title.
Final Score: Ospreys 22 (Gavin Henson try, conv, 5 pens), Ulster 21 (Andrew Maxwell, Tommy Bowe try, David Humphreys conv, 3 pens)