Votes are being counted in three parliamentary by-elections, with Labour hopeful of retaining all of the seats when results are declared in the early hours.

Voters turned out in Croydon North and Middlesbrough to elect new MPs following the deaths of Malcolm Wicks and Sir Stuart Bell.

Rotherham will also get a new MP after Denis MacShane's resignation in the wake of a damning report condemning him for abusing parliamentary expenses.

Defeat in any of the three seats would be a serious embarrassment for Ed Miliband and a major upset, and most observers believe Labour will see off its rivals, despite signs of a strong showing by some of the smaller parties during the campaign.

A Labour source predicted good Labour wins in Middlesbrough and Croydon North, where around a quarter of voters are thought to have turned out.

And the party's vote was said to be "solid" in Rotherham, where it was expecting a victory margin of around 4,000, despite a surge in support for the UK Independence Party at the expense of the Conservatives. Turnout in the South Yorkshire seat was expected to be around 36%.

The Labour source claimed the Liberal Democrats were facing a "disastrous" set of results, and might lose their deposits in all three seats.

Labour is odds-on favourites with bookmakers to keep hold of all three - won with healthy majorities in 2010 - with Middlesbrough seen as a near-certainty.

But there will be close attention paid to the performance of Ukip, which pushed the Liberal Democrats into third place in the Corby by-election a fortnight ago.

Its profile has been significantly boosted in Rotherham by the storm over the removal by the Labour-run council of foster children from a couple because of their Ukip membership.