A 26-year-old high school teacher virtually unknown to politics bested a former provincial cabinet minister Wednesday to win the Liberal party nomination for the April federal by-election in Montreal's Saint-Laurent riding.

Emmanuella Lambropoulos and her team couldn't hold back their surprise at beating the woman considered to be the Liberal party favourite, Yolande James.

"I'm really shocked," Lambropoulos told reporters after her win, The Montreal Gazette reported. "I'm surprised I won. The media had no idea I was running. A lot of people came here not knowing who I was, but going door to door, and showing my true self in my speech and in the email that I sent to all members — people saw it was someone from (the riding) who knew their concerns."

Lambropoulos' supporters also credited the fact she lived in the Saint-Laurent borough and wasn't parachuted in by the Liberal party as the main reason she came away with the victory.

"We came from the bottom up," said Petro Vouloukos, 22, who helped Lambropoulos secure her win. "We were the grassroots. Not from the top up like Mrs. James."

James, a former immigration minister in Jean Charest's Quebec cabinet between 2007 and 2010 had recently left her position as a political commentator for Radio-Canada to run for the nomination.

"Tonight, the (Saint-Laurent riding) Liberal family placed its trust in Emmanuella Lambropoulos," James wrote on Twitter after the results came in. "Congratulations on this victory!"

Former foreign affairs minister Stéphane Dion held the riding since 1996 and it has been Liberal for decades.

But Dion quit politics in January after Prime Minister Justin Trudeau dropped the veteran politician from cabinet. Dion was later named ambassador to the European Union and Germany.

The seat is considered safe for the party and Wednesday's winner is likely to become the MP for the riding after the byelection on April 3.

James, who was considered the heavy favourite, skipped out of a reception hall after learning she came in last out of three candidates.

Controversial nomination after candidate rejected

Lambropoulos' win is not without controversy as the man considered to be one of, if not the strongest candidate, was not allowed to run for the Liberal nomination.

Alan DeSousa, the well-known mayor of Saint-Laurent for the past 15 years, was not told why he was rejected as a candidate.

In an interview with the Montreal Gazette, DeSousa said that his rejection, combined with Dion's ouster from Trudeau's cabinet, contributed to the political upset.

Dion was credited by many federalists for introducing the federal Clarity Act, which ushered in an era of decline for the Quebec sovereignty movement. More recently, Dion had been praised as an environmental champion within government as a strong advocate for action to address climate change.

"I think the underlying feeling in our community and across the board in Canada was that Stéphane Dion was not well treated," DeSousa told the Gazette. "Here was a man who gave his life to saving Canada, to bringing forth the Clarity Act and fighting for the environment and also a former leader of the Liberal party, and to see him treated so shabbily…didn’t leave a very good taste in a lot of people’s mouths.

"The prime minister does have the right to choose his cabinet. But the feeling was that the thing was done with a lack of elegance."

This isn't the first time that Liberal voters in the riding have rejected an apparent push by a Liberal prime minister to show Dion the door and replace him with an apparent hand-picked candidate.

After former prime minister Paul Martin replaced Jean Chrétien in 2003, Martin allowed senior Liberals to organize an attempt to defeat Dion in a nomination race. But those efforts failed: Dion won his nomination and remained an MP, eventually getting invited into Martin's cabinet before he would replace the former prime minister as Liberal leader in 2006.

Dion would remain an MP until 2017, serving in Trudeau's first cabinet as global affairs minister for almost two years after the 2015 federal election.

Stephane Dion, Global Affairs Canada, Foreign Affairs Minister, Climate change, Syria
Stéphane Dion bids farewell to the House of Commons in a speech on January 31, 2016. File photo by The Canadian Press

Local Liberals were disappointed

Many Liberal party members who voted Wednesday told The Canadian Press they were disappointed DeSousa, the local mayor, wasn't on the ballot and said they would have voted for him.

"Many people were upset," said Vouloukos about DeSousa not being allowed to run and the party seemingly favouring James. "I think people being upset had an effect on the outcome but the most important thing is that she was able to mobilize the grassroots."

Lambropoulos was the only of the three candidates to live in the riding and had worked for the local Liberal party association for the area.

Second place was Marwah Rizqy, a tax lawyer who ran unsuccessfully for the Liberals in another Montreal riding in the 2015 federal election.

Lambropoulos father, Athanasios, said her campaign started out with just him and her.

"Our goal was to hit the road and get memberships," he said. "We weren't seen by the press; we were invisible."

Her mom, Matina, said "Our headquarters was grandma's living room."

The newly-selected candidate quickly received praise from the party and its top officials following her stunning victory.

"Congrats to Emmanuella Lambropoulos, Liberal candidate & future MP for Saint-Laurent," wrote Canadian Heritage Minister Mélanie Joly on Twitter, moments after the results came in. "Looking forward to work together in Ottawa."

Liberal Party president Anna Gainey also took to Twitter to offer her own congratulations to party's new candidate in the Saint-Laurent riding.

"Pleased to welcome Emmanuella Lambropoulos to #Team Trudeau on #IWD2017 (international women's day)," Gainey wrote. "She'll be a champion for families in (the Saint-Laurent riding). Congratulations!"

On Monday, the NDP selected Mathieu Auclair to carry their banner in the Saint-Laurent riding, while the Tories picked Jimmy Yu, who came in second place in the 2015 election behind Dion with 20 per cent of the vote.

The Bloc Quebecois chose Wiliam Fayad to represent the party during the byelection.

Four other byelections — two in Ontario and two in Alberta — will also be held that day. Both Ontario seats are also considered safe for the Liberals, while the Conservatives are expected to retain the two ridings in Alberta.

The Liberals currently have 180 seats in the 338-seat Commons. The Conservatives hold 97, the NDP has 44, there are 10 Bloc Quebecois members, one Green party member and one independent.

Editor's note: This article was updated at 7:45 a.m. on Thursday with additional quotes and background