Milan Brazilian striker Ronaldo scored against his former club late in the first-half but was cancelled out by Cruz 10 minutes after restart.
Swedish striker Zlatan Ibrahimovic notched the winner in the 75th minute after being set-up by Cruz's neat pass.
Inter, who haven's suffered a single defeat since the start of the league campaign, are in charge of the table with 73 points, 19 ahead of second-placed AS Roma who face Udinese later on Sunday.
Milan are sixth on 40 points, six short of the UEFA Champions League spot which is occupied by Palermo.
Ronaldo was whistled by Inter fans whenever he touched the ball but he replied in style after grabbing the opener five minutes before the interval.
The 30-year-old smashed a powerful left-footed drive into the far bottom corner of the net.
Argentinean striker Cruz leveled the score moments after his introduction after some good work from Ibrahimovic in the right-flank.
The former Juventus striker outpaced Milan skipper Paolo Maldini, who was celebrating his 600th appearance, before providing a low cross which was poorly parried by Dida into the path of Cruz for an easy tap-in.
It was Ibrahimovic's turn to score in the 75th minute when he met Cruz's back pass inside the area with a low drive past Dida.