Ajax enjoyed the best of the first half as Milan struggled. After a quarter of an hour, Daley Blind, impressive in the opening stages, evaded three defenders on the left to set up Viktor Fischer, who sent a shot just wide from outside the area.
Then, on the 35th minute, Lerin Duarte’s left footed shot from an acute angle on the left was smartly tipped over by Christian Abbiati. A minute later, Ajax again had a chance, Niklas Moisander slicing a volley just over. Milan had just 30% of possession in the first half, and failed to create a chance.
The second half brought the first Milan shot of the match, when Robinho found Balotelli in space on the left. The striker cut onto his right foot, and unleashed a fierce shot which Jasper Cillessen tipped onto the bar Five minutes later, Stefano Denswil was hugely lucky to escape a penalty after handling a Robinho cross.
In the last minute before added time, Ajax made a rare venture forward. From a corner on the right, Denswil found space as Sulley Muntari dithered, and appeared to win the game with a powerful close range header.
Then, three minutes later, AC Milan were desperately pressing forward for an equaliser. As Balotelli jostled for a cross with Mike Van Der Hoorn, he dragged him to the ground and was inexplicably awarded a penalty.
Despite his recent miss against Napoli, Balotelli returned to normal service, and his penalty gave Milan a share of the points.
16' - Ajax dominate the first half: Daley Blind tees up Viktor Fischer to slice the first shot of the match just wide of Milan's goal.
36' - Ajax continue to press: Niklas Moisander arches his back, but can only volley a clearance over the bar.
90+3' - Balotelli regains his nerve: Despite missing against Napoli, Mario Balotelli makes light work of the penalty, and the pressure, to earn Milan a point.
TALKING POINT: Was it a penalty? Balotelli appeared to have just as much of Mike Van Der Hoorn's shirt as the defender did of his, making the awarding of the penalty a decision incredibly hard to justify. Ajax can feel aggrieved not to have won the match after such effort throughout.
70% - Ajax had 70% possession in the first half, and they will regret not making the most of it now.
4 - AC Milan are unbeaten in their last four Champions League matches away to Ajax.
9 - This was the ninth consecutive failure for Ajax to keep a clean sheet in the Champions League, but they can consider themselves truly unlucky tonight.
MAN OF THE MATCH
Mario Balotelli (AC Milan): Others expended more effort, and others had a more consistent 90 minutes, but there is only one man capable of scoring a last minute penalty when it counts - and it's not the first time he's shown that, at Spurs fans with remember.
Ajax: Cillessen 6, Van Rhijn 7, Moisander 6, Denswil 7, Blind 6, De Jong 6, Poulsen 6, Duarte 6, De Sa 6, Sigthorsson 6, Fischer 6. Subs: Anderson 6, Van der Hoorn 6, Schone 6.
AC Milan: Abbiati 6, Mexes 6, Zapata 6, Abate 6, Constant 7, Muntari 6, Montolivo 6, De Jong 6, Poli 6, Robinho 6, Balotelli 7. Subs: Matri 6, Emnuelson 6.
THE MATCH IN A TWEET