Try as he could on a sun-baked Court 18, fourth seed Dimitrov could never tame the 57th-ranked American youngster but he eventually prevailed 6-7(2) 6-4 4-6 6-4 10-8 to collect the 50th Grand Slam win of his career.
Twice he needed to serve to stay in the match in the deciding set before breaking a cramping Donaldson to love in the 15th game, only to drop serve immediately.
Dimitrov broke again, though, at 9-9 and at the second time of asking he brought up match point with his 17th ace and sealed victory with a hefty first serve.
It is only the third time the 27-year-old has reached the third round at Roland Garros in eight attempts and he has never gone further - a surprisingly poor record for a player blessed with such a wide range of weapons.
Things will not get any easier if Dimitrov is to break new ground with Spaniard Fernando Verdasco next up.
Donaldson did little wrong and was 0-30 when Dimitrov served at 5-6 in the decider, only for the Bulgarian to unleash a succession of winners to stay alive.
The 21-year-old served an underarm second serve to hold serve in the next game as he was clearly struggling physically but Dimitrov eventually scrambled over the line.