OTTAWA -- The Liberals retained two safe seats and the Conservatives hung onto a safe seat of their own in three of four federal byelections held Monday.

But the results were just starting to trickle in late Monday in the one riding -- British Columbia's South Surrey-White Rock -- where the Liberals were hoping to score an upset over the Conservatives.

With 75 of 199 polls reporting, that contest was still too close to call.

Liberal contender Gordie Hogg had an early lead with 47 per cent of the vote, just five percentage points ahead of Conservative Kerry-Lynne Findlay, a former Harper-era cabinet minister who represented a neighbouring riding for one term before being defeated in 2015.

Should Hogg prevail, it would be the second byelection loss in as many months for newly minted Conservative Leader Andrew Scheer.

In Newfoundland and Labrador, meanwhile, the Liberals easily retained Bonavista-Burin-Trinity, the safest Liberal seat in the country.

With all polls reporting, Liberal Churence Rogers captured 69.2 per cent of the vote -- 46 percentage points ahead of his nearest competitor, Conservative Mike Windsor, who nevertheless managed to double his share of the vote from the 2015 general election.

As impressive as Roger's margin of victory was, he did not meet the standard set by his popular Liberal predecessor, Judy Foote, who retired from cabinet and federal politics due to family health concerns. She won the strongest majority in the country during the 2015 election, taking a whopping 81.8 per cent of the vote.

With 155 of 197 polls reporting, fellow Liberal Jean Yip was leading with 49.6 per cent of the vote in Toronto's Scarborough-Agincourt, a riding left vacant by the untimely death of her husband, Arnold Chan. Conservative Dasong Zou had 40.5 per cent.

And with 110 of 138 polls reporting in the safe Tory riding of Battlefords-Lloydminster in Saskatchewan, Conservative Rosemarie Falk enjoyed a commanding lead with 69 per cent of the vote -- more than 55 points ahead of any of her competitors.

Battlefords-Lloydminster was left vacant following the retirement of veteran Conservative MP Gerry Ritz, who had held the riding for 20 years.

The B.C. contest was the only one of the four byelection contests Monday where the seat could change hands.

South Surrey-White Rock was left vacant after Conservative MP Diane Watts resigned to run for the leadership of the B.C. Liberals. Watts, a high-profile former mayor of Surrey, narrowly won the seat in 2015 with 44 per cent of the vote, less than 1,500 votes ahead of the Liberal contender.

Monday's byelections mark the second electoral test for Scheer and newly minted NDP Leader Jagmeet Singh.

Neither fared particularly well in their first test.

In October, the Liberals scored a stunning upset in a byelection in Quebec's nationalist heartland, stealing the riding of Lac-Saint-Jean away from the Tories. The NDP, which had come a close second in the riding in 2015, wound up a distant fourth.

At the same time, Scheer found some consolation in another byelection in an Edmonton Tory stronghold, easily hanging onto Sturgeon River-Parkland with an increased share of the vote, while both the Liberals and NDP saw their vote share decline slightly.

In all six byelections since Singh took the helm of the NDP in early October, the party has seen its share of the vote decline.

Monday's result in Scarborough-Agincourt should be most worrying for New Democrats.

The riding has a predominantly immigrant population, including a sizeable South Asian population. Moreover, Singh grew up in Scarborough.

Nevertheless, the party saw its share of the vote in the riding drop to about five per cent, down three points from it's already dismal showing in 2015.