The fans made an effort in the stands despite the poor spectacle on the pitch
AC Milan and Inter Milan played out a disappointing goalless derby draw in the first leg of their Italian Cup semi-final on Tuesday.
Milan, the nominal home side at a boisterous San Siro, had the better of the play and opportunities but could not convert their chances into goals and head into next month's second leg level with their local rivals.
The away goals rule is still in force in the Italian Cup meaning Milan will have a small advantage when they are hosted by Inter for the decisive clash.
"We played well, it was difficult but we have another leg to play," said Theo Hernandez.
"We're giving our all and having a great season. We need to keep going and win. We had a lot of chances, but if you don't score you're not going to win."
Serie A champions Inter were poor and have now failed to win in their last five matches in all competitions in a dip in form which has also cost them their lead in the league.
Inter, who are also goalless in four games, are battling for the Serie A title with Milan and Napoli, who are both two points ahead of Simone Inzaghi's side and face off in Naples on Sunday.
"We're still the best attack in Serie A, we haven't scored in four games but we'll be back," said Inzaghi.
The winner of this tie will play in May's final against either Juventus or Fiorentina, who will face off in their first leg on Wednesday in Dusan Vlahovic's first match in Florence since leaving for Turin in January.
On Tuesday Fiorentina asked their fans not to chant racist abuse after Vlahovic was targeted with "gypsy" insults by opposition fans earlier in the season.
Before Tuesday's derby supporters of both teams held up cards with the word "peace" while a message from Milan legend Andriy Shevchenko pleading for an end to the war in Ukraine was played on the San Siro's big screen.
"Italian friends, please make your voices heard... Ukrainians want peace because peace has no borders," Shevchenko said to applause from all four sides of the ground.
Milan were the more dangerous side in the opening exchanges and should really have been ahead in the 11th minute when Theo Hernandez burst through the centre practically unopposed but could only scuff wide with his right foot.
Their inability to capitalise on the numerous good positions they worked themselves into was summed up when Nicolo Barella was dispossessed and Rafael Leao burst upfield and fed Alexis Saelemaekers, whose first touch on the edge of the area wasn't good enough.
The second period started in the same way as the first, with Leao having a curling shot well saved by Samir Handanovic straight after the restart.
Moments later Alessandro Bastoni did brilliantly to block Saelemaekers' effort after the Belgian was laid on by Olivier Giroud, who moments earlier had been screaming for a penalty after Milan Skriniar bundled into the back of him.
That was about it for major incident as two off-form sides bounced off one another but failed to conjure up much of interest for almost the entire second half.
On the basis of Tuesday's display, neither Juve nor Fiorentina will fear either of their potential opponents come the final at Rome's Stadio Olimpico.