A stoppage time equaliser by late substitute Artem Besyedin gave Ukraine a 2-2 draw in Serbia after the home side led twice in an entertaining Euro 2020 Group B qualifier on Sunday.
The Ukrainians, who had already secured a berth in next year's 24-nation tournament, finished their campaign top of the group on 20 points from eight games, according to ESPN.
European champions Portugal (17 points) joined them after a labored 2-0 win at Luxembourg while third-placed Serbia, who collected 14 points, will have another chance to advance via the Nations League playoffs in March.
A mere 4,000 fans turned up at Rajko Mitic stadium although Serbia started the game with an outside chance of qualifying and the home side treated their supporters to a solid performance.
Dusan Tadic fired Serbia ahead with a ninth-minute penalty as he sent goalkeeper Andriy Pyatov the wrong way after Mykola Matviyenko handled the winger's shot from the edge of the area.
Andriy Yarmolenko hit the post for Ukraine before Roman Yaremchuk levelled in the 32nd minute, heading home from close range after a Viktor Tsygankov cross from the right.
Fulham striker Aleksandar Mitrovic restored Serbia's lead in the 56th with a fine finish, as he chested down an inch-perfect Tadic cross and steered the ball into the opposite corner with the outside of his foot.
Ukraine laid siege to Serbia's goal in the closing stages and although home keeper Predrag Rajkovic kept out an Oleksandr Karavaev piledriver, Besyedin scored moments later when he swept a low shot from 10 yards into the bottom corner.