Eto'o scored either side of half time before Ba struck late on to give Jose Mourinho's side the points and take them above the Germans at the top of Group E.
Eto scored his first in bizarre fashion on the half-hour mark when he closed down goalkeeper Timo Hildebrand, who delayed his clearance before eventually striking it at the Cameroon striker before it nestled into the unguarded net.
© Getty Images
In a first half of few chances, Julian Draxler had the visitors' best effort when he curled an effort just wide of the post from the edge of the box early on before Adam Szalai had another decent attempt a minute later.
Eto'o had another chance towards the end of the half, when he latched on to a half-clearance to fire goalwards, but Hildebrand got his body behind the effort.
Draxler had a good chance seven minutes after the restart when he cut inside on his left foot on the edge of the box before his shot was tipped away by Petr Cech.
Eto'o had his second in more orthodox fashion a minute later when Willian released him inside the area before he took a deft touch and swept it beyond Hildebrand.
Ba had a decent attempt as the game entered the final 10 minutes, but his side-footed effort was too weak and Hildebrand got down to hold.
However, moments later, the striker scored as he turned onto Frank Lampard's chip over the top and caught a left-foot volley which flew past the stopper.