MPs have rejected an attempt to repeal the 2011 fixed-term Parliaments Act by 68 votes to 21.
The motion was co-sponsored by Labour's Frank Field and Tory Sir Edward Leigh.
Sir Edward described the Act as a "restriction on democracy" and said it had only been passed to prevent the coalition government from dissolving.
But Labour shadow minister Stephen Twigg said the Act had removed the previous "massive in-built advantage" for the governing party.
The Fixed-term Parliaments Act was passed in 2011 by the coalition government. Legally, an election can only be held every five years, and not sooner.
Previously, the prime minister could decide to call an election at any time in the life of a five-year parliament - a power Mr Twigg said led to "opportunistically timed elections".
Sir Edward said the fixed-term law had been falsely "marketed to us as a restriction on the power of the executive".
He added that it was a "hash job" that was "designed to keep both parties in the coalition from doing a runner on each other".
"Fixed-term parliaments were a pre-nup drawn up between two parties who were never in love."
Labour's Graham Allen disagreed, saying that "having the people knowing when the general election is going to take place, having the people know when the executive, the government, can be replaced, is one of the hallmarks of a modern democracy".
And Cabinet Office minister Sam Gmiyah argued that debates over the length of parliamentary terms had existed for centuries, and that the coalition was a "historic anomaly".