McElhinney, 34, was 8-8-2 with a 2.70 goals-against average, a .917 save percentage and one shutout with the Maple Leafs and Columbus Blue Jackets last season. After starting the season with Columbus, he was claimed off waivers by Toronto on Jan. 10.
"Curtis did a great job for us, he really did," Toronto general manager Lou Lamoriello said. "He has quality character and gets along with (starter) [Frederik] Andersen, and that's so important for the number of games he has to play."
Selected by the Calgary Flames in the sixth round (No. 176) of the 2002 NHL Draft, McElhinney is 51-66-12 with a 2.95 GAA, a .905 save percentage and five shutouts in 168 games (120 starts) with the Flames, Maple Leafs, Blue Jackets, Phoenix Coyotes, Ottawa Senators and Anaheim Ducks.
The Maple Leafs also signed goaltender Garret Sparks to a two-year, $1.35 million contract. It has an average annual value of $675,000.
Sparks, 24, went 21-9-0 with a 2.16 GAA and .922 save percentage and five shutouts in 31 games with Toronto of the American Hockey League. He also has 17 games of NHL experience, all with the Maple Leafs during the 2015-16 season.