The EU's executive - the European Commission - said it would delay the decision by five months to press the two East European states to take urgent action on reforms.
Bulgaria has been told to tackle organised crime and corruption while the commission said Romania needed to make tax and agricultural reforms.
Jose Manuel Barroso, the commission's president, said it was "time to roll up the shirt sleeves and deliver the last effort".
"I am afraid it may shorten the summer holidays for some in the public administration. But believe me, it is worth doing it," he added.
Both countries were warned that they could lose out initially on EU aid unless they swiftly create agencies to oversee the funds.
Romania, with 22 million citizens, and Bulgaria, with 8 million, are to receive EU aid worth €11.5 billion ($14.72 billion) and €4.6 billion respectively in 2007-2009.
Both have per capita wealth less than 40% of the EU average.
The accession treaty, which Bulgaria and Romania signed last year, gives the EU the possibility of delaying their accession until 2008 if they are deemed manifestly unprepared.
But Calin Tariceanu, the Romanian prime minister, said "the 2008 alternative is not being considered by Romanian authorities".
"We are determined to maintain the momentum and continue to fight corruption."
The decision also acts as a warning to Turkey, Croatia and Macedonia - who have all been accepted as candidates for EU membership.
Olli Rehn, the EU enlargement commissioner, said: "It is our goal to welcome Bulgaria and Romania in 2007 and it is our duty as the guardian of the [EU] treaties to ensure that once they join they really meet the conditions."
Bulgaria responded to the announcement by promising to improve justice and law enforcement.
Sergei Stanishev, the Bulgarian Prime Minister, declared: "For those who are used to living through corruption and flouting rules, and through crime, difficult times are coming."