Incumbent Conservative PM Stephen Harper is fighting for a rare fourth term but the frontrunner is Liberal leader Justin Trudeau, son of late prime minister Pierre Trudeau.
The left-leaning New Democratic Party (NDP) could also play a decisive role.
Opinion polls have suggested many people are still undecided.
Voting hours are staggered across the country and polls opened in Newfoundland at 0900 local time (1100 GMT).
On Sunday, party leaders made their final pitch for votes after one of the longest and possibly closest election campaign in Canada’s history, criss-crossing the country to try to sway undecided voters.
Mr Harper, 56, is selling himself as the steady hand who can steer Canada’s troubled economy back on track.
His campaign has run TV advertisements saying that Liberal leader Mr Trudeau, 43, is “just not ready” to take office.
“Every single vote for a Conservative candidate is a vote to protect our economy against Liberal and NDP deficits and taxes,” Mr Harper told supporters in Regina, Saskatchewan.
Mr Trudeau started the race in third place but the Liberals took the lead in opinion polls in a late surge.
The BBC’s Rajini Vaidyanathan in Toronto says the Liberal leader is promising change, and investment over austerity.
Although he supports the fight against Islamic State (IS), he believes Canadashould stop air strikes in Syria and Iraq, and focus on training local forces on the ground, she adds.
Speaking in Calgary, Alberta, on Sunday, Mr Trudeau urged voters to “come together as a country”.
Mr Trudeau’s father, Pierre, is considered the father of modern Canada.
NDP leader Tom Mulcair, 60, is hoping to build on his party’s second-place finish in the 2011 elections.
However, support for the NDP appeared to have fallen in recent weeks.
At a stop in Toronto, Mr Mulcair hit out at the Liberal leader, saying: “They may try to fool you by giving the old car a fresh coat of paint. But as we’ve seen, the Liberal Party is just as rusted-out underneath as it was when Canadians kicked them out of office for corruption the last time.”
An opinion poll released on Sunday showed the Liberals on 37.3%, seven points ahead of the Conservatives at 30.5%. The NDP had 22.1% according to the Nanos survey taken on October 15 to 17. The margin of error was 2.2%.