Constituency boundaries. You can have two constituencies (let's say A and B) with 1000 people in each, and a total of 1499 Tory voters and 501 Labour voters. If there are 1000 Tory voters in A, then A will return a Tory MP. B will still have an overall Labour majority, and return a Labour MP.
So with a rough 75:25 split, you can get a 50:50 split in terms of MPs elected.
In odder situations, you can have constituencies C, D, E and F, where C consists of 1000 votors, D, E and F all consist of 500 voters each, but each constituency still gets an MP…
If you look back at the 2005 election, the split between parties wasn't that big in terms of overall votes cast – I think it was 36% to the Tories and 37 or 38% to Labour, but a massive difference in seats.
There have been arguments in the past for the redrawing of constituency boundaries as Labour tend to do well for the number of votes actually cast for them.
However, there is an element of this kind of exaggerated result built into the first past the post system, which can be useful in terms of avoiding hung parliaments…