Ospreys fly-half Dan Biggar makes a break against Castres
Dan Biggar kicked all eight of his attempts at goal to help Ospreys to a scrappy opening Heineken Cup win over Biarritz at the Liberty Stadium.
Former England wing Iain Balshaw scored two tries for Biarritz and was denied a hat-trick by a marginal knock-on call.
But his opposite number Tommy Bowe's second-half touchdown - and 23 points from Biggar - ensured a winning start.
Biggar's accuracy ensured Ospreys extending their unbeaten European home record to 17 games.
The fly-half's seven penalties and a conversion finished just three points short of equalliing Gavin Henson's Ospreys Heineken Cup record of 26, set against Harlequins seven seasons ago.
At times the Welsh region made hard work of it, struggling for fluency in their attacking game, but with Biarritz regularly conceding penalties Biggar was in no mood to let them off the hook.
He kept the scoreboard ticking over and allowed the Ospreys an early opportunity to take charge of their group, with a trip to face Italians Treviso next weekend.
Biarritz arrived in Wales needing to put dismal domestic form behind them that had seen go bottom of the Top 14 French championship without their World Cup players.
And the visitors showed they meant business from the start, dominating early possession and territory as centre Damien Traille dropped a fifth-minute goal.
But crucially that came either side of centre Marcelo Bosch and fly-half Julien Peyrelongue missing penalties.
It took the Ospreys almost 15 minutes to establish any sort of threatening position, but a long-range Biggar penalty hauled them level by the end of an error-strewn opening quarter.
A second Biggar penalty edged the Ospreys 6-3 ahead at half-time, but it was a dire opening period.
Biggar completed his penalty hat-trick just two minutes into the second half and when Biarritz infringed again shortly afterwards, he found his range from a testing angle 40 metres out.
Bosch and Biggar exchanged a series of penalties as English referee Andrew Small readily punished both sides' technical deficiencies.
But with Ospreys leading 18-9 Traille produced the first moment of real quality in the match with a fine miss-pass that gave Balshaw room to slide in at the left corner, although Bosch missed the tricky afters.
Ospreys' remaining fixtures
19 November: v Treviso (a)
10 December: v Saracens (a)
16 December: v Saracens (h)
14 January: v Treviso (h)
21 January: v Biarritz (a)
That was the cue, though, for a concerted Ospreys response and when Bosch failed to deal with a steepling kick just outside his 22, Ospreys scrum-half Kahn Fotuali'i reacted quickest and sent Bowe across.
Biggar inevitably converted and added another penalty to make it 28-14 and the result seemingly safe with 13 minutes remaining.
Yet the Welsh were quickly brought back down to earth when centre Andrew Bishop's pass was intercepted by Biarritz scrum-half Dimitri Yachvili, who shipped the ball on for the pacy Balshaw to score from 50 metres.
Bosch's conversion ensured a nervous finale for the Ospreys, who should have been home and hosed, and they survived a disalllowed Balshaw try with just seven minutes left.
Biarritz did do at least have the consolation of leaving Swansea with a losing bonus, which could prove crucial in the final Pool Five reckoning.
Richard Fussell; Tommy Bowe, Andrew Bishop, Ashley Beck, Shane Williams; Dan Biggar, Kahn Fotuali'i; Duncan Jones, Huw Bennett, Adam Jones, Alun Wyn Jones (capt), Ian Evans, George Stowers, Justin Tipuric, Jonathan Thomas.
Richard Hibbard for Bennett (47), Ryan Bevington for D Jones (57), Aaron Jarvis for Adam Jones (63), Ryan Jones for Evans (61), Joe Bearman for Tipuric (40), Rhys Webb, Matthew Morgan, Sonny Parker.
Arnaud Heguy for August (53), Yvan Watremez for Barcella (75), Francisco Gomez Kodela for Marconnet (62), Pelu Taele for E Lund (73), Florian Faure, Romain Terrain, Benoît Baby for Peyrelongue (50), Ilikena Bolakoro.
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.