Inter Milan's title defence suffered a setback as Lazio fought back from going behind to claim a fine win.
Ivan Perisic gave the defending champions the lead from the spot after Nicolo Barella was fouled in the box.
Samir Handanovic produced a fine save to keep out Toma Basic as Lazio searched for an equaliser.
Lazio levelled through Ciro Immobile's penalty before former West Ham midfielder Felipe Anderson and Sergej Milinkovic-Savic scored late on.
It was Inter's first league defeat of the season.
Having won the league by 12 points last season, Inter trail leaders Napoli by four points having played one game more.
Lazio move up to fifth on 14 points, three behind Inter.