Brazilian keeper Julio Cesar saved a late Luca Saudati penalty for the Italian champions, who had Patrick Vieira sent off in the 39th minute.
Inter have 53 points from 21 games, while second-placed AS Roma stay on 45 after losing 3-0 at lowly Siena.
Third-placed Juventus trail the leaders by 12 after being held 1-1 at home by basement club Cagliari.
European champions AC Milan, who are sixth, visit fourth-placed Fiorentina, rivals for a Champions League slot, in the late Sunday game.
After Empoli had made the early running, Inter took the lead at the San Siro in the 34th minute with a spot kick conceded for hand ball by Ighli Vannucchi, although television replays suggested the ball hit the midfielder's face.
France midfielder Vieira went shortly afterwards for protesting about a yellow card he had just been given.
Empoli had the chance to snatch a draw in the 83rd minute when Marco Materazzi caught Saudati in the area but Cesar guessed right and dived superbly to keep out the striker's low, angled penalty.
In Tuscany, Simone Vergassola set Siena on their way in the 11th minute with a fine strike from the edge of the box.
The home side doubled their lead shortly before halftime, when Roma defender Max Tonetto got the last deflection off a Paolo De Ceglie shot. Mario Frick sealed the surprise win with a diagonal strike in the 83rd minute.
Pavel Nedved salvaged a point for Juventus with a blistering shot from 30 metres out in the 55th minute immediately after defender Paolo Bianco had poked the ball into the net for the Sardinian side.
Picture: Inter goalkeeper Cesar saves penalty kick by Empoli's Saudati.