David Cameron secured a minor pre-general election victory and shocked Ed Miliband when he promised a future Tory government would not raise the rate of VAT.

The promise came during the final Prime Minister's Questions of this Parliament and with just weeks to go before the vote in May.

Ed Balls had promised a Labour government would not raise the 20% VAT rate, which is typically levied on goods and services, earlier in March. The shadow chancellor also attacked the Tories over the tax, claiming Cameron would raise the levy if he gained office after the general election.

Ed Miliband sustained Labour's attack on the issue at Prime Minister's Questions when he asked Cameron if he would rule out a VAT rise.

"On Monday the prime minister announced his retirement plans and he said it was because he believed in giving straight answers to straight questions," Miliband said, in reference to the revelation Cameron would only stay on for two terms.

"Now, after five years of Prime Minister's Questions, that was music to my ears. So here's a straight question: Will he not rule out a rise in VAT?"

Cameron replied: "In 45 days' time I plan to arrange his retirement. But he's right, straight questions do deserve straight answers. And the answer is 'yes'."

The pledge caused the Tory benches to erupt into cheers and the Conservative MPs began to heckle Miliband. But the Labour leader claimed nobody would believe Cameron over his VAT promise.

"Nobody is going to believe it because of his extreme spending plans, because his numbers don't add up and because he promised it last time and he broke his promise," Miliband said.

The exchange comes after Chancellor George Osborne raised VAT from 17.5% in 2010 to its current rate as part of his "emergency budget".

Labour and the Tories are neck-and-neck in the opinion polls as the general election looms. The latest survey from YouGov, which questioned more than 2,000 voters between 23 and 24 March, put both of the parties on 35%, with Ukip on 12%, the Liberal Democrats on 8% and the Greens on 6%.