Spain stayed in control of Group G despite enduring a nervy evening in Macedonia.
David Silva and Diego Costa were on target but the visitors were made to sweat after Stefan Ristovski pulled one back. Silva capped a vintage Spanish build-up with the opener and Costa tapped in Isco’s cross before half-time.
But with chances going begging Spain were made to pay when, out of nothing, Stefan Ristovski burst from the halfway line and lashed in his first international goal. Nevertheless, a 2-1 victory ensured Spain remain top of the group on goal difference, although Italy made inroads on that with a 5-0 win over Liechtenstein.
Napoli forward Lorenzo Insigne opened the scoring with a stunning strike, controlling Leonardo Spinazzola’s pass before crashing a volley into the top corner. Insigne then teed up Andrea Belotti to tuck in the second seven minutes after the interval.
Eder grabbed the third before substitutes Federico Bernarderschi and Manolo Gabbiadini completed the scoring.
Elsewhere in Group G two goals from Armando Sadiku and one from Ledian Memushaj gave Albania a 3-0 away win against Israel.
Wales fought out what could be a valuable draw as they held Group D leaders Serbia 1-1 in Belgrade.
Aaron Ramsey had given Wales a 35th-minute lead, with his ‘Panenka’ penalty coming at the same stadium where Czechoslovakia’s Antonin Panenka went down in folklore at the 1976 European Championship.
But Aleksandar Mitrovic hit a 73rd-minute equaliser as the teams drew for the second time in seven months.
Jonathan Walters kept the Republic of Ireland in the hunt with the equaliser in a 1-1 draw with Austria in Dublin.
Walters cancelled out Martin Hinteregger’s first-half strike with five minutes remaining – and moments later Shane Duffy had what he thought was a winner ruled out for a foul.
In Group D’s basement battle Georgia came from two goals down to draw 2-2 with Moldova. Radu Ginsari and Alexandru Dedov put the hosts 2-0 up at half-time but Georgia hit back through Giorgi Merebashvili and Valeri Kazaishvili to snatch a point.
Croatia slipped up at the top of Group I after a 1-0 defeat in Iceland. Hordur Magnusson’s last-minute header, from Gylfi Sigurdsson’s cross, moved Iceland level on points with the leaders, although with an inferior goal difference.
Turkey had a mild scare against group minnows Kosovo after Amir Rrahmani cancelled out Volkan Sen’s early header, but further goals from Cengiz Under, Burak Yilmaz and Ozan Tufan earned a 4-1 victory.
Artem Besyedin secured a 2-1 win for Ukraine in Finland. Yevhen Konoplyanka had put Ukraine ahead but Joel Pohjanpalo equalised, only for Besyedin to restore their lead three minutes later.
Turkey lie third, two points behind the leaders and ahead of Ukraine on goal difference.