Dundalk tasted bitter disappointment as they went from the verge of an historic victory to defeat against Zenit St Petersburg.
A touch of Brazilian class saw scheming Zenit midfielder Giuliano exchange a one-two in the box with Belgian Axel Witsel and ease it into the net from close range for a 2-1 victory in their Group D Europa League clash in Dublin.
Substitute Mauricio missed a penalty chance to finish the game off in the final minutes.
Prior to that, Robert Mak had put the Russians level after Robbie Benson's opener for Dundalk.
It was a night of shattered dreams for the Lilywhites.
Zenit controlled most of the play with precise and short passes. Giuliano always looked threatening, turning deep inside the Dundalk half in an effort to create space.
But for much of the game the gulf in class between the Irish hopefuls and the 2008 winners of the UEFA Cup was masked by a spirited performance from the hosts.
They have endured a punishing domestic and international schedule in recent weeks and looked tired in the dying minutes of the match when it became clear their opponents had too much for them.
Dundalk displayed a flawless defensive performance against one of the favourites to win the Europa League during the first half.
The Russians dominated possession but Dundalk carved probably the best chances of the half.
Irish striker David McMillan set up Ronan Finn within the first 10 minutes but his shot inched past the keeper's right post.
Minutes later storming winger Daryl Horgan surged forward and tried to poke it towards striker Patrick McEleney but he was foiled.
Zenit controlled most of the play, with sharp little passes in Dundalk's half. Their play was patient, waiting for a Dundalk -- tired after a long season -- to make a mistake.
Witsel controlled the game in the middle but failed to tee up any significant first-half chances.
Early in the second half winger Benson picked the ball up 25 yards out with a little bit of space after the ball bounced off a Zenit defender. His shot beat the keeper who may have been unsighted by one of his defenders.
On 70 minutes Mak equalised for Zenit after a poor clearance from the Dundalk keeper saw the ball given away cheaply and the winger made no mistake from close range.
Seven minutes later Giuliano played a 1-2 with Witsel inside the box and made it 2-1 and Dundalk heads dropped, buoyed little by the penalty miss after Brian Gartland's foul on Mauricio.