Premier League, Soccer Saturday scores, highlights: Chelsea wins controversially, derbies thrill, Barcelona dazzles

The busiest soccer Saturday of the 2022-23 European season featured thrilling derbies in Milan and Liverpool; controversy at Chelsea; stumbles for Manchester City, Bayern Munich and Juventus, victories for Real Madrid and Barcelona, and much more.

It began with an Old Firm blowout — Celtic 4, Rangers 0 — and a Merseyside stalemate. Everton and Liverpool struck four posts and created 3.4 Expected Goals but, somehow, zero actual goals.

The rest of the English Premier League slate started slowly, but exploded in the second halves of the 10 a.m. ET matches. Bournemouth came from two goals down to stun Nottingham Forest. Chelsea also came back to beat West Ham, but only because the Hammers had a late equalizer nullified by VAR. Manager David Moyes labeled the decision "scandalous" and "absolutely rotten." Midfielder Declan Rice called it "one of the worst" he's seen.

Man City then looked to be cruising to the top of the table, only to be pegged back and held to a 1-1 draw by Aston Villa.

The game of the day, though, took place in Italy, and did not disappoint. AC Milan and Inter, local rivals and Serie A favorites, did battle at the San Siro. Rafael Leão stole the show and propelled Milan to a 3-2 win — and to the top of the table for a few hours, until Napoli won at Lazio and went top on goal difference.

In Spain, Real Madrid won a top-of-the-table clash with Real Betis. Barcelona, however, was the more impressive of the Spanish giants, winning 3-0 at Sevilla in style. Robert Lewandowski's goal was the pick of the bunch.

In France, PSG waltzed to a 3-0 win over 10-man Nantes.

Catch up on all of the highlights in chronological order here. The top results are below.

Soccer Saturday live updates recap

European soccer results for Saturday, Sept. 3

(Top games in bold.)

Everton 0-0 Liverpool — A frantic Merseyside Derby somehow ended 0-0 despite 3.4 Expected Goals' worth of chances. Everton was impressive, and had a goal correctly disallowed by VAR. Liverpool struck posts three times. Full highlights are here.
Celtic 4-0 Rangers
Fiorentina 1-1 Juventus
Union Berlin 1-1 Bayern Munich
Brentford 5-2 LeedsJesse Marsch, Leeds' American manager, got sent off... and then things spiraled. Ivan Toney scored a hat trick for Brentford.
Chelsea 2-1 West Ham — Christian Pulisic started but was quiet. Kai Havertz scored a late winner off the bench. West Ham thought they had an equalizer, but VAR disallowed.
Tottenham 2-1 Fulham
Nottingham Forest 2-3 Bournemouth — Bournemouth came back from 2-0 down to win it late.
Newcastle 0-0 Crystal Palace
Wolves 1-0 Southampton
Real Madrid 2-1 Real Betis
AC Milan 3-1 Inter Milan
Aston Villa 1-1 Manchester City
Real Sociedad 1-1 Atletico Madrid
Frankfurt 4-0 RB Leipzig
Lazio 1-2 Napoli
Nantes 0-3 PSG
Sevilla 0-3 Barcelona

MLS, Liga MX results

Minnesota 0-3 Dallas
Columbus Crew 0-0 Chicago Fire
Pachuca 2-0 Santos Laguna
New York Red Bulls 0-2 Philadelphia Union
Atlas 0-0 Pumas
Nashville 3-0 Austin
Club América 2-0 Tigres