A penalty from Donald gave Bath a 15-5 lead just before the half-time whistle.
After the break, a try from Francois Louw gave Bath a 20-8 lead after 57 minutes.
A try and conversion from Ignacio Mieres brought Chiefs back into the game with just over 10 minutes left.
Dan Hipkiss received a red card after 75 minutes to leave Bath a man down for the remainder of the game.
Another Donald penalty gave Bath an eight-point cushion on 78 minutes, before Mieres missed a penalty in added time.
The final whistle blew, securing a 23-15 win for Bath.