Shamrock Rovers gave it everything only to come up short as Ludogorets left Tallaght Stadium relieved to be safely through to the third qualifying round of the Champions League.
Chasing a 3-0 first leg deficit against the Bulgarian champions, Rovers got the early lead they craved through Aaron Greene.
The miracle looked possible when, with Ludogorets down to 10 men, Aidomo Emakhu came off the bench to add a second late on.
But despite a rousing dominant display by Stephen Bradley's side, Ludogorets hit back through Cauly Souza in stoppage time to seal their passage.
Rovers now meet Shkupi of Macedonia in the third qualifying round of the Europa League, at home first next week.
With Gary O’Neill making his 100th appearance for the club, the Hoops were positive from the start, Graham Burke almost getting in behind after a clever Richie Towell ball over the top three minutes in.
Five minutes later, Burke, O’Neill and skipper Ronan Finn combined for the latter’s cross to the back post which just had too much on it for the inrushing Towell.
It wasn’t long before Rovers had some frantic defending to do as Ludogorets came alive.
Sean Hoare initially headed out for a second corner which was whipped over with venomous pace by Kiril Despodov for skipper Anton Nedyalkov to bring a superb save from Alan Mannus with a flashing header.
Rovers responded to take a deserved lead on 21 minutes.
Burke’s cross-field ball picked out Andy Lyons. Though taking a slight deflection, the cross still found Burke in the area whose header brought a fine one-handed save from Sergio Padt.
The ball broke kindly for the alert Greene who rifled the rebound into the roof of the net.
Continuing to press, the Hoops almost doubled their lead on 36 minutes. Again the delivery was from the left by the industrious Lyons. Olivier Verdon’s attempted clearance fell for Towell whose first-time drive flew inches past the post.
Rovers' hopes increased within six minutes of the second half when Ludogorets were reduced to 10 men. Midfielder Manuel Cafumanna, booked for a foul on Lyons in the first half, saw a second yellow for a further foul on O’Neill.
Rovers were then left incensed when Towell was booked for a dive when it was felt he had been tripped by Zan Karnicnik as he raced through onto a sublime Burke pass.
Ludogorets remained dangerous on the counter, almost punishing Rovers on 73 minutes for giving away cheap possession.
Mannus came to the rescue with another terrific save, pushing Alex Santana’s shot round a post.
Santana was then given far too much time and space to let fly once more. Again Mannus got down low to his left to keep it out.
Rovers kept coming as they finished with a flourish, setting up a breathless finale with a second goal on 88 minutes.
Neil Farrugia’s slalom run broke the Ludogorets rearguard to set up fellow substitute Emakhu who took a clever touch before blasting to the roof of the net.
But hopes of the miracle revival were quickly dashed as Ludogorets sealed the tie with a fine goal in the first minute of added time.
Substitute Igor Thiago found Cauly Souza whose rising drive hit the net from a tight angle.
Shamrock Rovers: Alan Mannus; Sean Gannon, Sean Hoare, Lee Grace; Ronan Finn (Neil Farrugia 71), Chris McCann (Justin Ferizaj 82), Gary O’Neill (Rory Gaffney 71), Richie Towell (Aidomo Emakhu 78), Andy Lyons; Aaron Greene, Graham Burke (Dylan Watts 71)
Ludogorets: Sergio Padt; Zan Karnicnik, Igor Plastun, Olivier Verdon, Anton Nedyalkov; Manuel Cafumana, Alex Santana, Cauly Souza (Gerogi Terziev 90+1); Bernard Tekpetey (Spas Delev h-t), Pieros Sotiriou (Igor Thiago 86), Kiril Despodov (Rick h-t)
Referee: Fabio Maresca (Italy)