|Treviso (12) 22|
|Tries: Morisi, Steyn, Penalty Try Cons: Hayward 2 Pen: Hayward|
|Connacht (14) 21|
|Tries: Parata, Carr, Robb Cons: Cooney 3|
Connacht's hopes of securing a home semi-final in the Pro12 suffered a blow as they were shocked in Treviso.
Tries from Rory Parata and Fionn Carr helped Connacht lead 14-0 but Treviso hit back and Jayden Hayward's last-gasp penalty ensured the home side's win.
Scores from Luca Morisi and Braam Steyn cut Connacht's lead to 14-12 by half-time and Treviso then edged ahead with a penalty try on 45 minutes.
A Peter Robb try restored Connacht's lead before Hayward's penalty won it.
Treviso's players celebrated after a victory which puts them in position to claim the European Champions Cup spot available to Italy as they move above Zebre into 11th spot in the table.
Connacht's losing bonus point guaranteed their semi-finals spot as they moved 11 points ahead of fifth-place Scarlets but Glasgow's expected victory over Zebre on Friday will drop the Irish province to third in the table.
Next weekend's game in Galway between Connacht and Glasgow is now likely to be a shoot-out to decide who earns a home semi-final.
In Friday's game, Connacht poached two tries in the opening 14 minutes as Parata dived over and Carr then latched onto a Jack Carty grubber kick.
However, Connacht failed to control their remainder of the first half as Morisi and Steyn scored two tries in the space of five minutes before the break.
As the Connacht scrum began to struggle, Treviso notched a penalty try five minutes after the resumption.
Following the introduction of Ireland players Robbie Henshaw and Finlay Bealham, Robb dived over in the 52nd minute with John Cooney a third successful conversion.
Just before the match entered injury-time, Connacht's replacement scrum-half Caolin Blade conceded possession as he threw a forward pass and a further scrum infringement just short of halfway allowed Hayward to kick the decisive penalty.
Connacht: T O'Halloran; N Adeolokun, R Parata, P Robb, F Carr; J Carty, J Cooney; R Loughney, T McCartney (capt), R Ah You; Q Roux, A Browne; S O'Brien, J Heenan, E McKeon.
Replacements: D Heffernan for McCartney 79, JP Cooney for Ah You 59, F Bealham for Loughney 44 mins, A Muldowney for Roux 67, J Muldoon for Heenan 57, C Blade for John Cooney 67, AJ MacGinty for Carty 51, R Henshaw for Parata 51.
Treviso: J Hayward; A Esposito, L Morisi, A Sgarbi (capt), L Nitoglia; S Christie, E Gori; M Zanusso, O Gega, S Ferrari, F Paulo, T Palmer, F Minto, A Zanni, A Steyn.
Replacements: D Giazzon for Gega 70, C Traorè, S Manu for Ferrari 67, M Fuser for Palmer 58, M Lazzaroni for Steyn 70, A Lucchese for Esposito 67, L McLean for Christie 17, T Iannone for Morisi 28.