Railways Bill: Third Reading
278Ayes
149Noes
Carried · majority 129 · Government won219 did not vote
646 Members · Aye 278 · No 149 · DNV 219 · grey dots in centre are abstentions
Analysis
Commons
Commons
Parliament passed the Railways Bill at its Third Reading on 10 June 2026, by 278 votes to 149. Third Reading is the final substantive stage in the Commons, meaning the Bill passed to the House of Lords in its completed form. Labour and Labour-Co-operative MPs provided all 265 government votes, joined by five Greens, four independents, three Reform UK MPs, and one MP from Your Party. The Bill advances the government's programme to restructure the railways, bringing train operations back under public control. Passing Third Reading means the legislation moves forward intact, having survived a series of opposition amendments earlier the same day. Passengers, rail workers, and the wider transport sector now face the prospect of the structural changes the Bill sets out, subject to the Lords stage. The Conservatives and Liberal Democrats together provided 147 of the 149 no votes, presenting a united opposition front. No Labour MP voted against. Three Reform UK MPs broke with their party's general posture of opposing the government and voted with ministers, as did a handful of independents. The same day saw three opposition amendments defeated, including Amendment 143 (167 ayes to 266 noes), Amendment 148 (155 ayes to 279 noes), and New Clause 1 (77 ayes to 271 noes), each of which the government saw off with comfortable majorities before the final passage vote.
Voting Aye meant
Support nationalising Britain's railways and creating a publicly owned Great British Railways to run services in passengers' and taxpayers' interests rather than for private profit.
Voting No meant
Oppose the Railways Bill in its current form, with concerns including the concentration of power in Great British Railways, potential conflicts of interest over open access operators competing with GBR-run services, and the overall model of public ownership.
Each row is one party. The stacked bar gives the within-party split of Aye / No / Absent; the columns on the right give the raw counts. The whip column shows the published party position — “Free vote” means the whip was formally removed for this division.
Party
Whip
Aye / No / Abs
Aye
No
Abs
Labour Party
Whipped Aye
239
0
121
Conservative and Unionist Party
Whipped No
0
89
27
Liberal Democrats
Whipped No
0
58
14
Labour and Co-operative Party
Whipped Aye
26
0
16
Independent
—
4
1
8
Reform UK
Whipped Aye
3
0
5
Scottish National Party
—
0
0
7
Sinn Féin
—
0
0
7
Democratic Unionist Party
—
0
1
4
Green Party of England and Wales
Whipped Aye
5
0
0
Plaid Cymru
—
0
0
4
Social Democratic and Labour Party
—
0
0
2
Alliance Party of Northern Ireland
—
0
0
1
Restore Britain
—
0
1
0
Speaker
—
0
0
1
Traditional Unionist Voice
—
0
0
1
Ulster Unionist Party
—
0
0
1
Your Party
—
1
0
0
Source · Hansard · UK Parliament Votes API · whip status from announced positions; “free vote” indicates the whip was formally removed
Sources
Division dataUK Parliament Votes API
DebateHansard · Commons
Stance analysisAI analysis · Claude 4.x
LicenceOpen Parliament Licence v3.0