Spezza beat Cristobal Huet with a long wrist shot inside the right post to open the scoring 12:32 in. The high-scoring center made a fine centering pass to set up Donovan's goal with 2:05 left that restored Ottawa's one-goal lead.
Martin Gerber stopped 11 of 12 shots while playing the first two periods. Gerber has started each of the Senators' three preseason games, including a 52-save performance Tuesday night in a 4-0 win over Philadelphia.
Jeff Glass made 12 saves in the third as Ottawa improved to 3-0.
Canadiens prospect Kyle Chipchura scored his first goal in three preseason games 15:44 into the second to tie it at 1.
Chipchura, chosen 18th overall by Montreal in the 2004 draft, finished off a play with Duncan Milroy and Matt D'Agostini, his teammates last spring with Calder Cup champion Hamilton, the Canadiens' AHL affiliate.
Canadiens starter Cristobal Huet made 17 saves.
Montreal, which has lost three of five, plays its sixth game in seven days Sunday against Boston in Halifax, Nova Scotia.
Copyright by STATS LLC and The Associated Press
Arena: Bell Centre Location: Montreal, Quebec
No scoring this period
Jason Spezza (power play) Assist: Anton Volchenkov
Shean Donovan Assist: Jason Spezza, Anton Volchenkov
Kyle Chipchura Assist: Duncan Milroy, Matt D'Agostini