The on-loan Chelsea striker and Keisuke Honda earned Pippo Inzaghi's side a point that had looked most unlikely following early goals from Lorenzo Tonelli and Manuel Pucciarelli
Filippo Inzaghi's men were out to make amends after their 100 per cent start to the new Serie A season was halted by a 1-0 home defeat to champions Juventus on Saturday.
But Milan started poorly and found themselves 2-0 behind in the first quarter of the match thanks to goals from Lorenzo Tonelli and Manuel Pucciarelli.
Fernando Torres marked his full debut with a fine headed goal to bring Milan back into it before half-time, but, by contrast, fellow Chelsea loanee Marco van Ginkel's first start lasted just 31 minutes as he was withdrawn with yet another injury.
Keisuke Honda pulled Milan level with a smart strike in the second half, but Milan could not muster a winner, despite Empoli captain Mirko Valdifiori being shown a late red card.
As well as handing debuts to the Chelsea duo, Inzaghi recalled defender Daniele Bonera, in an attempt to revitalise his side after Saturday's setback.
But it was Empoli who made the more assured start, moving the ball well and controlling the tempo.
And they got their reward after 13 minutes when Tonelli took advantage of some flat-footed defending from Bonera to meet Valdifiori's in-swinging corner with a powerful header to open the scoring.
It could have been much worse for Milan in the following five minutes, but Christian Abbiati twice got down smartly to deny Pucciarelli and Francesco Tavano after more slack defending.
But Abbiati was left helpless after 21 minutes as Pucciarelli doubled the lead. A well-worked Empoli free-kick from Valdifiori, flicked low into the box, caught Bonera and Milan on their heels once more and Pucciarelli was allowed to slot in from close range.
Milan improved marginally going forward, but remained limited to shots from distance with a low drive from Giacomo Bonaventura – who came on to replace the injured Van Ginkel - the only one to trouble goalkeeper Luigi Sepe.
That was until Torres made his mark with a wonderful flicked header into the far corner from Ignazio Abate's right-wing cross two minutes before the break.
Milan's defending continued to present Empoli with opportunities, however, and Tavano wasted the best of them 10 minutes into the second half as he scuffed wide when through one-on-one.
Tavano was made to pay for that in the 57th minute when Honda levelled. Abate was involved again, supplying the Japan international, who showed quick feet to engineer a shot from 20 yards that found the bottom corner.
The turnaround looked to be complete when Torres teed up Jeremy Menez in an almost identical position, but his shot crashed back off the crossbar.
Milan had the momentum, but when Torres tired and was replaced with 10 minutes to play, the visitors' energy dropped.
The game swung Milan's way once more when Valdifiori was sent off for a high challenge on Nigel de Jong that earned him a second yellow card in the space of less than 60 seconds on 86 minutes, but Inzaghi's men failed to take advantage.