Promoted Leicester City, trailing 3-1 with 30 minutes to go, fought back to beat Manchester United 5-3 in one of the most astonishing Premier League matches for years at the King Power Stadium.
In the late game, substitute Frank Lampard scored a late goal against his old club Chelsea as 10-man Manchester City salvage a point at home.
Manchester United led 2-0 and 3-1 during the course of the game but finished with 10 men after young defender Tyler Blackett was sent off after 83 minutes.
United appeared to have secured all three points when Ander Herrera made it 3-1 after 57 minutes.
Leicester immediately struck back again when David Nugent scored from the spot after 62 minutes before Esteban Cambiasso equalised with a low left shot two minutes later to make it 3-3.
Vardy then turned the game Leicester's way with their fourth before Ulloa cracked home the fifth from the spot after Blackett was sent off.
Lampard, who was released by Chelsea this summer after scoring a club-record 211 goals in 13 years, held his arm out and refused to celebrate after his side-footed shot deflected in off John Terry in the 85th minute.
City right back Pablo Zabaleta was sent off in the 66th after picking up a second booking, and Chelsea capitalised by opening the scoring five minutes later when substitute Andre Schuerrle tapped in Eden Hazard's low cross.
Chelsea dropped points for the first time in five games but still holds a three-point lead over Southampton.
In the other early match West Bromwich Albion climbed off the bottom of the table when they won their first match of the season, 1-0 at Tottenham Hotspur. Meanwhile, Everton were stunned 3-2 at home by Crystal Palace.