Lifeimi Mafi's approach work created a midfield hole that Keith Earls expertly exploited to send Keatley over, the fly-half converting his own score.
Biggar knocked over his first penalty as the first response, then finished off a telling attack by completing a one-two with Ryan Jones, the latter's inside pass the highlight of the move.
Wales hopeful Biggar converted and put them back into the lead after Keatley levelled with a penalty.
Biggar added a third penalty to put the hosts six points clear.
And the Ospreys ended the opening period in memorable, long-range fashion as Richard Fussell's inside pass freed Joe Bearman for the number eight to send Fotuali'i over.
The Biggar conversion gave the Ospreys a 23-10 half-time lead, that he stretched with another penalty, taking his career tally with the team over the 1,000 mark before another outstanding home try.
Justin Tipuric's tackle forced Ronan O'Gara to relinquish possession and Shane Williams, Beck and Fotuali'i played their part before Fussell gave Dirksen a run to the line.
Veteran wing Williams' popped pass put Bishop over for the next, Biggar converting.
Another clever pass from soon-to-retire Wales and British and Irish Lions wing Williams sent replacement scrum-half Rhys Webb over, Biggar converting for the fourth and final time.
Richard Fussell; Hanno Dirksen, Andrew Bishop, Ashley Beck, Shane Williams; Dan Biggar, Kahn Fotuali'i; Paul James, Richard Hibbard, Adam Jones, Alun Wyn Jones (capt), Ian Evans, Ryan Jones, Justin Tipuric, Joe Bearman.
Tom Isaacs for Dirksen (71), Rhys Webb for Fotuali'i (56), Ryan Bevington for James (56), Scott Baldwin for Hibbard (61), Aaron Jarvis for Adam Jones (65), James King for Alun Wyn Jones (69), Matthew Morgan for Biggar (72).
Not Used: Tom Smith.
J Murphy; I Dineen, K Earls, L Mafi, S Zebo; I Keatley, C Murray; W du Preez, M Sherry, BJ Botha; D O'Callaghan, M O'Driscoll, D Ryan, T O'Donnell, P O'Mahony (capt).
O'Gara for Murphy (24), Barnes for Keatley (69), O'Leary for Murray (56), Kilcoyne for du Preez (74), Fogarty for Sherry (69), Archer for Botha (74), Dave O'Callaghan for Donncha O'Callaghan (53).
Not Used: Butler.
Alain Rolland (IRFU)
Nigel Owens (WRU), Marius Mitrea (FIR)
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.