Bayer Leverkusen dropped to third following a 2-1 defeat at Eintracht Frankfurt as action resumed in the league following a brief Christmas break.
Emil Forsberg was denied from the penalty spot by a superb Gregor Kobel save midway through the first half, but Leipzig broke through in the 67th minute when Angelino’s deflected cross fell to Olmo at the back post and he tucked in a cushioned volley.
Leipzig are on 31 points after 14 games, one ahead of Bayern Munich, who face second-from-bottom Mainz on Sunday, and three clear of third-placed Leverkusen.
Leverkusen missed their chance to go top earlier in the day when Frankfurt came back from a goal down to win 2-1 with an Amin Younes strike and an Edmond Tapsoba own goal.