Chelsea captain John Terry was sent off as his side lost 2-1 away to Tottenham in the league for the first time since 1987, while Arsenal crashed at West Ham.
The results mean Manchester United, who beat Portsmouth 3-0 on Saturday, sit on top with 28 points, three clear of champions Chelsea with the Gunners now 10 points adrift in fifth.
Claude Makelele had given Chelsea a 14th-minute lead, striking home a swerving volley from the edge of the box, but Michael Dawson leveled 10 minutes later, glancing in Jermaine Jenas's free-kick.
An extraordinary end-to-end game tipped Tottenham's way six minutes into the second half as Aaron Lennon took down Robbie Keane's deflected cross, slipped by Ashley Cole and beat Hilario with a cool sidefoot finish.
As Chelsea's frustrations mounted, Terry, already booked for a foul on Dimitar Berbatov, collected a second yellow card after apparently taking a swing at England teammate Ledley King after 71 minutes.
Even with 10 men, though, Chelsea ensured Spurs endured an agonizing last quarter-hour, pinning them back in their own box.
Cross after cross rained into the Tottenham box and Arjen Robben curled a 20-yard shot against the face of the post but Spurs, somehow, hung on.
"It's tremendous for the players and especially the supporters. It has been a long time coming," Keane said afterwards. "The players showed a lot of character today."