With second-placed champions Internazionale not in action until Sunday, Milan raced into a 19th minute lead thanks to French defender Kalulu's arrowing strike into the bottom corner.
The hosts appeared nervy in the second period and struggled to create many more clear-cut openings as they looked to put the game to bed, with goalkeeper Mike Maignan forced into a fine save to preserve his side's lead.
Milan nonetheless held on to secure a second successive 1-0 win and moved to 63 points from 29 matches, pulling clear of Inter, who play Torino on Sunday. Empoli stay 13th on 32.
Stefano Pioli's side were not at their best but are now unbeaten in nine games in all competitions, closing on a first Scudetto since 2011 -- something the coach is trying to play down.
"Nine games [left] is a lot," Pioli told Sky Sport Italia. "Twenty-seven points [to play for] are a lot. All the top five are in with a chance of winning the title.
"We shouldn't look too far ahead. I will only talk about the title before the last day of the season.
"Our opponents have to play tomorrow, there are still games to catch up. I think it would be much more normal if everyone had played all the games, then it is clear what we need to do."