Mesut Ozil scored a superb late winner as Arsenal hit back from two goals down to beat Ludogorets 3-2 on Tuesday and secure their place in the last 16 of the Champions League with two games to spare.
The North London club, who reached the competition's knockout stages for a 17th time in a row, and Paris St Germain, who also qualified after a 2-1 away win over Basel, are joint top in Group A with 10 points from four matches. Ludogorets and Basel have one point each.
Unmarked Brazilian Jonathan Cafu opened the scoring for Ludogorets from close range with his second goal in the Champions League, giving Arsenal keeper David Ospina no chance from a precise Wanderson free kick.
Three minutes later, Cafu dribbled past Kieran Gibbs and delivered a tempting cross for Romanian striker Claudiu Keseru, who doubled Ludogorets's lead to send the home fans at the Vasil Levski stadium into dreamland.
Granit Xhaka, who returned to Arsenal's starting line-up after serving a domestic ban, reduced the deficit midway through the first half with Ozil turning provider.
French striker Olivier Giroud made it 2-2 three minutes before the break after getting to the ball ahead of keeper Milan Borjan from Aaron Ramsey's cross and flicked home a header.
Ludogorets almost restored their lead in the second half but Ospina did well to parry Wanderson's shots on two occasions. However, Ozil, who scored a hat-trick in Arsenal's 6-0 win over Ludogorets two weeks ago, had the final word.
Ozil collected the ball in Ludogorets's half, lifted it over an advancing Borjan before slipping past two defenders and calmly slotting into an empty net.
"I have already stated that Ludogorets are a very good side," Arsenal manager Arsene Wenger said. "I was delighted that we managed to level before half time.
"Now we play Paris (St Germain) at home and we have a chance to finish top."
Ahead of Sunday's visit to local rivals Tottenham Hotspur in the English Premier League, Wenger decided to leave several key players including Theo Walcott, Santi Cazorla, Hector Bellerin and Nacho Monreal in London.
"It is great to be back after long absence," said Ramsey. "It's important to keep the momentum going, we are looking forward to the derby."
Ludogorets have to play their European home matches in Bulgarian capital Sofia because their 8,800-capacity Ludogorets Arena, in the small northeastern town of Razgrad, is not suitable to host such games.
Ludogorets host Basel in their next game in a battle for the third spot in the group, which guarantees a place in the Europa League.
"We lost but with our heads up high," said Cafu. "We want to win our next game against Basel and finish third."