Internazionale snatched a dramatic 3-2 win over Milan thanks to a last-minute penalty from Mauro Icardi, who completed his hat-trick and condemned Milan to a third successive league defeat.

Milan twice hit back to equalise but were sent tail-spinning towards a crisis after their defender Ricardo Rodríguez hauled down Danilo D’Ambrosio at a corner and Icardi converted his ninth league goal of the season.

Inter’s win kept them second and unbeaten in Serie A with 22 points from eight games, two behind the leaders, Napoli, who have a 100% record following their 1-0 win at Roma on Saturday.

Milan have dropped to 10th after four wins and four defeats, far below the level expected of a side who spent more than €200m in the close season.

The Milan coach, Vincenzo Montella, was incensed by the penalty decision. “Ricardo didn’t pull him down and D’Ambrosio has been very clever,” he said. “It makes me angry to lose like that. I hope we get a penalty like that in our next game. But I’m optimistic. For me the glass is half-full.”

Inter went ahead in the 28th minute when Antonio Candreva, who had already hit the crossbar, delivered an inviting low cross from the right and Icardi got between Milan’s two central defenders to steer the ball into the net. Suso equalised in the 56th minute, curling a left-foot shot into the bottom corner from 20 metres.

They were level for only seven minutes until Icardi robbed Lucas Biglia of the ball in midfield and fed Ivan Perisic, who got to the byline and pulled it back to the middle where the Inter captain managed to guide it into the net.

Milan levelled for the second time with nine minutes left after Samir Handanovic parried Giacomo Bonaventura’s shot on to a post and the ball rebounded back on to the Slovenian goalkeeper and into the net.

Sampdoria came from behind to record a 3-1 victory over Atalanta at the Stadio Luigi Ferraris. The visitors led at the interval after Bryan Cristante opened the scoring midway through the first half. But Sampdoria responded in emphatic fashion after the break, scoring three times inside 12 minutes to secure the victory.

Genoa also scored three times, winning 3-2 as they secured their first victory of the season, by 3-2 at Cagliari, following five defeats from their last six matches.

They took an early lead through Andrey Galabinov after eight minutes and the former Queens Park Rangers and Tottenham forward Adel Taarabt added a second 10 minutes before half-time. Leonardo Pavoletti hit back for Cagliari after the interval but Luca Rigoni restored the two-goal margin with 75 minutes gone.

Cagliari’s Joao Pedro scored from the penalty spot four minutes later to ensure a nervy conclusion.

Cyril Thereau came back to haunt his former team as Fiorentina secured a much-needed 2-1 victory against Udinese. Thereau, who spent three years at Udinese before moving to Fiorentina in the summer, opened the scoring after 27 minutes when he converted from close range.

Valencia continued their excellent start to the La Liga season by beating Real Betis 6-3 away, rising to second in the table. Valencia risked throwing away the win when they let in three goals in five minutes but they seized all the points with an 88th-minute strike from their top scorer, Simone Zaza, who claimed his seventh goal of the campaign.

The Manchester United loanee Andreas Perreira thumped in the ninth goal in injury time, closing out the highest scoring game of the season in Spain’s top flight. Valencia have 18 points, four behind the leaders, Barcelona, who were held to a 1-1 draw at Atlético Madrid on Saturday, and one above the champions Real Madrid, who beat Getafe 2-1.

Málaga remain bottom of the table with only one point after a 2-0 home defeat byLeganés. Second-half goals from Gabriel Appelt Pires and Alexander Szymanowski lifted Leganés up to sixth in the standings as they extended their unbeaten run to four matches. Málaga finished the game with 10 men following Recio’s late red card.

In the Bundesliga Wolfsburg came from behind on two occasions to secure a point at Bayer Leverkusen. Lars Bender put the home team in front with 29 minutes gone before the on-loan Liverpool striker Divock Origi equalised on the stroke of half-time.

Lucas Alario netted for Bayer on the hour but Jakub Blaszczykowski hauled the visitors back on level terms after 69 minutes. The draw was Wolfsburg’s fourth in succession in the Bundesliga .

Lars Stindl scored for the third away game in a row as Borussia Mönchengladbach moved up to fifth in the table with a 2-0 win at Werder Bremen.

Stindl, on target in the draw at RB Leipzig and the heavy defeat at Borussia Dortmund before the international break, was on the score sheet again at the Weserstadion, opening the scoring after 27 minutes. Jannik Vestergaard added a second goal seven minutes later to leave the hosts still without a win in the Bundesliga this season.