Donaldson, a 35-year-old Welshman seeking his first career victory, was at 14 under and one shot ahead of Westwood. McIlroy was another stroke back in third on a sun-baked day in the Alps.
A downpour soaked the course soon after fans left at the end of the round. Donaldson will be playing in a final group Sunday; tee times were moved to the morning to avoid the worst of storms that are forecast.
"I'm the underdog, in effect, even though I'm winning by one," Donaldson said. "It's awesome. You are playing with two of the greatest players at the moment."
Westwood, ranked No. 2, had seven birdies, including all four par-5s, in a 64 that was the day's best round.
"It's always nice to play a round with no 5s and no bogeys, especially on a course like this that can trip you up," Westwood said.
McIlroy began the day in a four-way tie for the lead at 8 under, but the U.S. Open winner dropped shots at the 16th and 17th in his 67.
"It wasn't the greatest way to finish, but I'm still in there," he said.
Thomas Bjorn of Denmark, last week's winner at Gleneagles, Scotland, had a 66 and was at 11 under with Gary Boyd of England. Martin Kaymer of Germany was among six players at 10 under, trailing Donaldson by four shots.
Donaldson shot seven birdies, the lone bogey coming at the 629-yard ninth hole.
"I played really good all the way round," said Donaldson, who has two runner-up finishes on the European Tour, most recently at Malmo, Sweden in July 2009. "I will go out (Sunday) with the exact same game plan."
Westwood's round included four straight birdies between the sixth and ninth holes.
"They are scoring holes," said Westwood, who is fighting a heavy cold. "I tried to hit in sensible places all day and try not to make mental errors."
McIlroy birdied the first and sixth, then sank a 40-feet putt for an eagle-2 at the scenic seventh hole. He got back-to-back birdie-4s after the turn before his putting let him down at the par-3 16th.
"There's a 61 or 62 out there," said McIlroy, who lost a playoff on this course at age 19, when he took a four-shot lead into the final round.
"I should have won here in 2008 and I feel I should be leading this tournament by a bit already," McIlroy said.