The Rossoneri began brightly and pinned back the Italian champions almost from the start of the derby, but in the end had nothing to show for it.
AC Milan had an excellent early chance in the ninth minute as they applied a strong press, allowing Alexis Saelemaekers to steal away possession and fire in a shot that Inter goalkeeper Samir Handanovic punched away.
While veteran striker Edin Dzeko looked threatening for Inter whenever he was in possession, there were more clear-cut chances for their city rivals as Rafael Leao was off target with a chance midway through the first half and Rade Krunic had his 38th-minute shot blocked.
Milan made more opportunities after the restart with Leao's angled shot forcing a fine one-handed stop from the Inter goalkeeper and Krunic had another close-range chance blocked.
A triple change by manager Stefano Pioli kept up the pressure, but AC Milan were guilty of over elaborating and making poor decisions when they had the Inter defence stretched.