Juve's Alvaro Morata scored for the third successive match in all competitions after just four minutes to give the hosts a dream start, with the Spaniard racing clear before finishing.
- Don't have ESPN? Get instant access
- ESPN+ viewers' guide: LaLiga, Bundesliga, MLS, FA Cup, more
Further Juve chances came and went and their wastefulness in the final third cost them all three points as Croatian Rebic climbed highest to equalise from a corner in the 76th minute.
The result moved Milan back above AS Roma into second place on 10 points from four games, while Juve, the most successful ever Serie A team, are languishing in 18th with two points.
Allegri's return to Juve for a second spell as coach had not got off to the best of starts after his side took one point from their opening three Serie A matches before Sunday's clash.
But right from the off in the Juventus Stadium, there was a different tempo to Juve, with Morata immediately breaking clear after being set through by Dybala before lofting a fine finish over the onrushing Milan goalkeeper Mike Maignan.
Milan, who suffered another injury setback in the first half as central defender Simon Kjaer had to be withdrawn, were hanging on as Juve created plenty of chances but could not add to their tally in the opening period.
Then home side remained on top after the break but their final ball let them down when it counted as Allegri's side failed to put the game to bed.
Once again, even with Italy pair Leonardo Bonucci and Giorgio Chiellini at the heart of their backline, Juve failed to keep a clean sheet in Serie A, giving Rebic too much space to level from a corner.
It could have got worse for Juve late on had Szczesny, who has been criticised by Italian media for some of his recent performances, not flung up a hand to deny Kalulu.
Juventus are now without a win in their first four matches of a Serie A season for only the fourth time in their history.