Tommaso Rocchi struck twice in the second half as Lazio clinched their first Champions League win this season at the expense of Werder Bremen.
Having wasted a hatful of chances in the opening half, Rocchi finally broke the deadlock on 57 minutes before scoring his second 11 minutes later.
Lazio were made to sweat in the dying stages with Diego's penalty goal reducing the deficit with four minutes remaining after Emilson Cribari had brought down Hugo Almeida inside the area.
But although Cribari was given his marching orders after the episode, Lazio held on for the victory.
The outcome lifts Lazio to second in Group C, level on five points with Olympiacos, who were held to a goalless draw by Real Madrid.
The result was all the more special as it marked Lazio's first victory in the group stage of Europe's elite club competition since 2003.
Lazio missed two golden opportunities to take an early lead. On 11 minutes, Guglielmo Stendardo latched onto Cristian Ledesma's cross but his central header proved an easy catch for Werder goalkeeper Tim Wiese.
Shortly after, Rocchi served Luciano Zauri, whose angled weak effort was parried by Wiese.
Lazio coach Delio Rossi was forced to make his first substitution on 18 minutes with Lorenzo De Silvestri replacing an injured Zauri.
The hosts wasted another good chance to break the deadlock with an unmarked Mourad Meghni firing high over the crossbar from the edge of the area.
Lazio were unlucky not to take the lead midway through the first half with Stephen Makinwa's bullet strike from the heart of the area being met by a fine save from Wiese.
Shortly after the half-hour mark, Werder midfielder Daniel Jensen replaced Frank Baumann, who had sustained a head wound after a collision with Ledesma.
The Romans could have gone into the break with a 1-0 advantage but Rocchi's powerful volley from Ledesma's corner was cleared by a defender.
Having failed to test goalkeeper Marco Ballotta in the opening half, Bremen looked more lively after the restart and could have taken the lead had Diego's stunning volley not gone just wide of the far post.
But Lazio's prayers were finally answered when Croatian referee Ivan Bebek pointed to the penalty spot after Meghni was brought down inside the area by Petri Pasanen.
Rocchi's right-footed effort was parried away by the keeper but the striker followed up the shot and turned in the loose ball.
Bremen twice had the opportunity to equalise but Almeida's 30-yard strike and Naldo's powerful effort from distance were met by acrobatic saves from Ballotta.
And Bremen's hopes were crashed as Lazio soon doubled their advantage.
Meghni's cross sliced Bremen's defence wide open and left an unmarked Rocchi inside the area to fire past Wiese.
The Germans never gave up hope and Diego's late goal - and the dismissal of Cribari - reopened the game but it was too little too late.
Bremen also ended the game with 10 men, with Diego sent off in injury time for dissent.
Teams
Lazio Ballotta, Behrami, Stendardo, Cribari,Zauri (De Silvestri 18), Mudingayi, Ledesma, Mutarelli, Rocchi,Meghni (Manfredini 74), Makinwa (Scaloni 87).
Subs Not Used: Muslera, Firmani, Baronio, Tare.
Sent Off: Cribari (86).
Booked: Stendardo, De Silvestri, Cribari, Rocchi.
Goals: Rocchi 57 pen, 68.
Werder Bremen Wiese, Fritz (Harnik 76), Mertesacker, Naldo,Pasanen, Andreasen, Baumann (Jensen 32), Borowski, Rosenberg,Diego, Hugo Almeida.
Subs Not Used: Vander, Tosic, Vranjes, Carlos Alberto,
Schindler.
Sent Off: Diego (90).
Booked: Diego, Andreasen.
Goals: Diego 89 pen.
Att: 35,045
Ref: Ivan Bebek (Croatia).