The result made Lazio the favourites to reach the final where they are likely to face Juventus.
The result made Lazio the favourites to reach the final where they are likely to face Juventus who beat Napoli 3-1 in their opening leg 24 hours earlier.
Despite the win, Lazio's joy was tempered by accusations that their fans made 'monkey noises' at Roma's German international defender Antonio Rudiger.
An announcement was made threatening to suspend the game if the abuse continued.
"I didn’t hear anything," said Lazio coach Simone Inzaghi. "If that happened, it was certainly wrong and cannot be justified."
Serbian midfielder Milinkovic-Savic had already seen one effort saved by Brazilian keeper Alisson before he found the target on the half-hour mark.
Felipe Anderson created the goal, sprinting down the left and past hapless defender Federico Fazio before pulling the ball back for Milinkovic-Savic to score from close range.
Roma almost equalised straightaway but an Edin Dzeko header trimmed the crossbar.
Roma's Egypt international Mohamed Salah also saw a shot hit the post in the second half before Lazio grabbed their second goal in the 78th minute.
This time Senegalese winger Keita Balde was the inspiration, sprinting away from a host of defenders to cross for the unmarked Immobile to sidefoot the ball past the out of position Alisson.