The battle between the last two beaten finalists never sparked into life at the Stadio Olimpico, though the outcome was hardly surprising considering they had failed to muster a goal between them in both meetings at the same stage of the competition last season.
Milan eventually went through to the final on penalties and the Rossoneri will be favourites to progress again this year with the second leg at San Siro, though the return fixture is not until late in April.
Lazio had the best opportunity to break the deadlock, Ciro Immobile carelessly shooting wide from a central position inside the penalty area to let Alessio Romagnoli – who had scuffed his clearance straight to the striker – off the hook in the opening half.
Both Francesco Acerbi and Sergej Milinkovic-Savic also failed to hit the target from long range and while Lucas Leiva did force Gianluigi Donnarumma into a save, his curling effort was straight at the goalkeeper.
Milan, meanwhile, were not helped by the loss of Franck Kessie, the midfielder substituted just before the half-hour mark having suffered an injury in an earlier challenge.
The visitors did briefly pose more of an attacking threat after the break, only to soon drop back and force their opponents to make all the running.
Milinkovic-Savic drifted a header over from a corner but did test Donnarumma from distance, his deflected strike comfortably held by the Italy international, who kept a clean sheet a day after celebrating his 20th birthday.
Donnarumma also got down low to deny Joaquin Correa, yet Milan's last line of defence was underworked by the hosts in a game that will not live too long in the memory of those who witnessed it.
The Olimpico draw leaves it all to be played for in the second leg— AC Milan (@acmilan) February 26, 2019
Pareggio a reti bianche all'Olimpico: per la finale sarà decisiva la sfida di San Siro#LazioMilan #CoppaItalia pic.twitter.com/ADZkkmc4F7
What does it mean? Semi-final sitting in the balance
With Juventus' domination over – they have won the past four finals in the competition – and Fiorentina taking on Atalanta in the other semi-final, both Lazio and Milan will fancy their chances of Coppa Italia glory this season.
Their semi-final remains up for grabs with 90 minutes (at least) to play, albeit Gennaro Gattuso will be the happier of the two managers following a forgettable stalemate in Rome.
Orsato makes his mark in dull draw
With little to split the sides, one moment of excellence – or a dodgy decision – had the potential to be crucial in the tie. However, while the two sets of players were below par, referee Daniele Orsato was outstanding, including twice refusing to be fooled by theatrical falls from Lazio forward Correa in key situations.
Immobile miss may hurt Lazio's hopes
After three goals in Lazio's last two Coppa fixtures, Immobile fluffed his lines when it mattered against Milan. While Mateo Musacchio's attempted block may have had an impact, he should have at least hit the target from such a prime position before the break.
Key Opta facts
- Milan have won only one of their last 11 matches away from home against Lazio in all competitions (D6 L4), after have won five of the previous seven (D2).
- Lazio had drawn 0-0 the first leg of a semi-final in the Coppa Italia only two twice before this game (v Inter in 2007-08 and v Milan last season) - and were eliminated on both occasions.
- Milan are unbeaten in their last eight matches in all competitions and have equalled their longest unbeaten streak this season (between August and October 2018).
- Krzysztof Piatek made only 26 touches in the game - the lowest tally among the outfield starters in the game.
- Sergej Milinkovic-Savic attempted six shots, only one less than the total shots attempted by AC Milan (seven).
With the return leg nearly two months away, both teams will focus on the fight for a top-four finish in Serie A. Milan host Sassuolo on Saturday while Lazio have the small matter of a derby fixture against Roma on the same day.