Milan began brilliantly at a filled San Siro, with tifos and smoke grenades covering the stands, but Candreva followed up his goal in the 2-2 derby draw in November with a well-taken opener in the 36th minute.
Inter, owned by Chinese group Suning since June 2016, had further chances early in the second half and although keeper Samir Handanovic was decisive a few times, the big Slovenian was left stranded when Alessio Romagnoli met Suso's cross at the back post to hit what initially seemed a late consolation on 83 minutes.
Milan remain sixth in Serie A, with Inter - who were set to overtake their rivals - still in seventh.
The game at San Siro will take place less than 48 hours after Italian former prime minister Silvio Berlusconi finalised his sale of AC Milan to a Chinese-led consortium on Thursday for 740 million euros ($788 million). Inter have been owned by Suning since June 2016.
"Milan allows you to enjoy football and the derby to the fullest, but as the game ends, you could be happy if you win or sad if you lose, but it is all over". "Both teams played very well, but we deserved the draw", Zapata told Premium Sport.
It was a suitably spectacular match for the occasion, as Inter took a 2-0 lead in the first half through Antonio Candreva's lob and a Mauro Icardi tap-in.
BHCS Celebrating 70th Anniversary of Jackie Robinson's MLB Debut
Many historians believe Robinson's breakthrough was an early step that eventually led to other civil rights breakthroughs. He came up in the majors with players who played alongside Robinson or were inspired by his story.
The Rossoneri supporters also displayed another banner at the start of the first half, with the words: "We hope to see seriousness, commitment and presence".
Grabbing attention in the mid-table with seven matches to go this season, Inter and Milan will be playing for nothing but pride.
Romagnoli stabbed in from Suso's cross to provide his side a lifeline before Zapata turned the ball off the crossbar and on the line following a corner in the seventh minute of stoppage time.
While that might not be taking shape anytime soon, let us get our attention back on the Derby di Milano, or the Milan Derby on Saturday.
Balotelli is now at Nice, for whom he has scored 13 league goals in 19 appearances this season.
Elsewhere, Cagliari beat Chievo Verona 4-0, Torino drew 1-1 against Crotone and Bologna's match at Palermo ended 0-0.