Edinburgh paid the price for three missed penalties as they lost to the Pro12's bottom side Zebre in Parma.
The visitors had failed to trouble the Italians' backline in the opening half and trailed 14-6 at the break after a Giovanbattista Venditti try.
But Matt Scott's converted try at the start of the second half cut the advantage to one point.
Filippo Cristiano crossed the line shortly after and Dion Berryman's late score ended any hopes of a comeback.
The result dealt a huge blow to Edinburgh's European Cup hopes but revitalised those of Zebre, who can still finish above fellow Italian side Treviso.
The visitors made the perfect start when Carl Bezuidenhout's penalty gave them the lead, but from then on they found themselves on the back foot and only good defensive work from Ross Ford denied an early score.
The home side kept up the pressure and Samuela Vunisa looked certain to hit the line only for a careless knock-on when clear to deny him.
However, play was brought back for an earlier infringement and Luciano Orquera made it 3-3 with a penalty.
There was another let-off for Edinburgh when Bezuidenhout's drop-kick was charged down by Dries Van Schalkwyk and Orquera burst through with the loose ball, but again a knock-on spared the visitors.
Eventually, the Italians took charge when Venditti barged between a ruck of players for the game's first try, but the conversion hit a post.
The home side increased their lead when Gonzalo Garcia struck a long penalty that just crept over, Edinburgh missing their own opportunity a minute later when Ben Toolis was taken out, but Bezuidenhout's penalty floated wide to the right.
He made up for the miss three minutes later but, with the last kick of the first-half, Garcia again sent a long penalty over for Zebre.
Nothing much had gone Edinburgh's way in the first 40 minutes, but they roared back into it at the start of the second.
Tim Visser, making his 100th appearance for Edinburgh and his first start since suffering a broken leg in October, slipped in between two white shirts and fed Scott, who raced between the posts unopposed.
Jack Cuthbert converted but missed a penalty a minute later as Edinburgh passed up the chance to move in front.
Quintin Geldenhuys was tackled on the line, but Cristiano was able to take over and restore Zebre's advantage, although Orquera missed the conversion.
Edinburgh brought on Alex Toolis for his debut, replacing twin brother Ben, but they had to do without Roddy Grant for the last 20 minutes when he hobbled off.
For all their effort, Edinburgh could not get near the Zebre line. Cuthbert was frustrated when his long penalty sailed wide with 10 minutes to go, and Scott knocked on when David Denton had managed to wriggle through.
Any hopes of a dramatic finish were extinguished when Berryman slipped between the posts after Zebre had turned over the scrum and Orquera this time could not fail to add the extra two points.
Zebre: David Odiete, Leonardo Sarto, Tommaso Iannone, Gonzalo Garcia, Giovanbattista Venditti, Luciano Orquera, Brendon Leonard, Samuela Vunisa, Andries van Schalkwyk, Filippo Cristiano, George Biagi, Quintin Geldenhuys (capt), Dario Chistolini, Davide Giazzon, Matias Aguero.
Replacements: Tommaso D'apice for Giazzon (68), Andrea de Marchi, Dave Ryan for Chistolini (60), Michael van Vuren, Filippo Ferrarini for Cristiano (68), Guglielmo Palazzini, Kameli Ratuvou for Garcia (55), Dion Berryman for Sarto (55).
Edinburgh: Jack Cuthbert, Tom Brown, Matt Scott, Andries Strauss, Tim Visser, Carl Bezuidenhout, Sean Kennedy, Wicus Blaauw, Ross Ford, Willem Nel, Ben Toolis, Ollie Atkins, Mike Coman (capt), Roddy Grant, David Denton.
Replacements: James Hilterbrand for Ford (54), Alasdair Dickinson, Simon Berghan, Alex Toolis for B.Toolis (54), Cornell Du Preez for Atkins (15), Grayson Hart for Kennedy (40), Harry Leonard for Bezuidenhout (40), Sam Beard for Grant (57).