Zebre 27 Ulster 23
Ulster’s bid to go five wins from five and stay out in front in Conference B was torn asunder in Italy as Michael Bradley’s Zebre secured a shock, but thoroughly deserved, triumph with the northern province extremely fortunate to bag themselves a losing bonus point.
The game's critical moment came just inside the last 10 minutes when - with the visitors trailing 20-16 - Zebre number eight Renato Giammarioli intercepted a pass from Christian Lealiifano to Iain Henderson and galloped the length of the field to dot down at the other end.
With Marcello Violi adding an excellent conversion, Ulster were 11 points down with just eight minutes to play and were left to rue turning down two kickable penalties - the first when Wiehahn Herbst's try was rather puzzlingly ruled out by the TMO, the second being when Lealiifano threw the intercept - just when they had finally seemed to be getting some rare momentum in the game.
It had been a dire and error-riddled performance by the northern province, particularly in the second half when they coughed i[ all three tries to the determined Italians who now have gone two wins from two after seeing off the Southern Kings.
Ulster were simply outmuscled by Zebre's greater aggression and accuracy while defensively they were also badly undone by the attacking skills of full-back Matteo Minozzi and try-scoring winger Mattia Bellini.
Indeed, it really ought to have been worse for Kiss's side - for whom Andrew Trimble scored on his 221st appearance to equal that of former sole record holder Roger Wilson before Darren Cave snatched a late touchdown for the losing bonus point - as home out-half Carlo Canna managed to butcher two straightforward first half penalties.
Ulster, whose only previous defeat to Zebre was in Parma back in 2014, had led 13-6 at the break after what had been a fitful opening 40 minutes for them after John Cooney had converted Trimble's 17th minute try and then added two penalties.
The game erupted into life seven minutes after the restart when Zebre pounced on some loose ball in Ulster's 22 and Canna's cross-kick - with Louis Ludik receiving attention out on the wing - was picked out flanker Giovanni Licata with the out-half's conversion tying the scores.
Five minutes later and the home side had the lead when Minozzi’s shredding of Ulster’s first up defence saw Bellini finish off. Violi’s conversion put Zebre 20-13 up.
A 62nd minute Cooney penalty cut Zebre’s lead to four points but the scrum-half was then rather curiously replaced. Ulster then thought they had taken back the lead after turning down a kickable penalty but Herbst’s score was ruled out for a maul offence.
Ulster then went for the corner again with 10 minutes to go but this time Giammarioli intercepted and Violi’s conversion put Bradley’s men 27-16 ahead.
With two minutes to go Cave managed to manufacture a try out of nothing to at least bring Ulster a losing bonus point and the centre also added a drop goal conversion which was of little solace on a humiliating day for Les Kiss and his men.
Zebre: M Minozzi; G Bisegni, T Boni, T Castello (capt), M Bellini; C Canna, M Violi; A Lovotti, O Fabiani, D Chistolini; D Sisi, G Biagi; G Licata, J Meyer, R Giammarioli. Replacements: S Panico for Lovotti half-time, L Krumow for Sisi 48mins, E Bello for Chistilini 62mins, G Venditti for Boni 63mins, L Luus for Fabiani 67mins, J Sarto for Giammarioli 73mins, S Bordoli for Canna 74mins. Not used: G Palazzani
Ulster: C Piutau; A Trimble (capt), D Cave, L Marshall, L Ludik; C Lealiffano, J Cooney; C Black, J Andrew, R Ah You; P Browne, I Henderson; M Rea, S Reidy, J Deysel. Replacements: K Treadwell for Browne 27mins, A Warwick for Black and W Herbst for Ah You both 49mins, R Lyttle for Ludik 49mins, N Timoney for Deysel 54mins, D Shanahan for Cooney 63mins, A McBurney for Rea 77mins. Not used: P Nelson
Referee: M Adamson (SRU)