Kevin De Bruyne struck a late winner as Belgium came from a goal down to beat Switzerland 2-1 in Geneva on Saturday.
Marc Wilmots' side, who had won their previous five matches in all competitions, fell behind to Blerim Dzemaili's first-half opener but Romelu Lukaku levelled before De Bruyne won it for the Belgians.
Switzerland, who lost friendly matches against Republic of Ireland and Bosnia-Herzegovina in March without scoring a goal, delivered a much-improved performance against the world's number two-ranked side and deservedly went ahead through Dzemaili's pinpoint finish on 31 minutes.
Belgium, who named a strong starting XI, took just three minutes to respond, with Lukaku turning in Dries Mertens' cross after Philippe Senderos's indecision saw the ball bounce across the penalty area.
Chances were scarce in the second period but, after Haris Seferovic was sent off for the home side, De Bruyne blasted home the winner after being teed up by Jordan Lukaku to condemn Vladimir Petkovic's side to a third defeat in a row.
Xherdan Shaqiri, starting wide on the right but given licence to roam, was at the heart of the home side's encouraging display early on and came within inches of setting up Eren Derdiyok for a tap-in at the far post after another clever run.
Yann Sommer produced two strong saves to deny Romelu Lukaku and De Bruyne as Belgium began to assume some control, but Switzerland snatched the lead with 31 minutes played. Michael Lang combined superbly with Shaqiri down the right and Toby Alderweireld could only turn his low cross into the path of Dzemaili, who drilled a clinical finish into the bottom-right corner.
The lead lasted barely three minutes, however. Mertens bent in a low cross from the right and, after Senderos failed to intercept, Romelu Lukaku had an easy task to finish high past Sommer from six yards.
Shaqiri had Thibaut Courtois at full stretch with a low drive after a spectacular run through the heart of the Belgium midfield just before the break, but the attacking ebb and flow of the first half began to falter in the second as tempers flared following a succession of niggling fouls.
Dzemaili came within inches of snatching victory with a fierce shot from 25 yards that flew narrowly over Courtois' crossbar, before he made way to allow Young Boys youngster Denis Zakaria - a player touted as a long-term replacement for former skipper Gokhan Inler - to make his debut.
Fellow substitute Seferovic earned a straight red card with 10 minutes to play in the wake of a clash with Jan Vertonghen, and Belgium capitalised on the man advantage to find a winner with seven minutes to play. De Bruyne found space on the edge of the area and struck a dipping shot which deceived Sommer and nestled into the right-hand corner.
Sommer redeemed his error somewhat with a spectacular one-handed save to deny Divock Origi's overhead kick from point-blank range, but Belgium saw out injury time with minimal fuss to claim the victory. Wilmots' side will now prepare for a meeting with Finland next Wednesday, while Switzerland host Moldova two days later.