BBC News reports:
Retired Lt Gen Ricardo Sanchez also labelled US political leaders as "incompetent" and "corrupted".
He said they would have faced courts martial for dereliction of duty had they been in the military.
The best the US could manage under the current approach in Iraq was to "stave off defeat", Gen Sanchez warned.
"There is no question that America is living a nightmare with no end in sight," he said, addressing journalists at Arlington, near Washington.
A catalogue of political misjudgements had paved the way for the insurgency after the fall of Iraqi leader Saddam Hussein, according to Gen Sanchez.
He blamed the US disbanding of the Iraqi military as well as the failure to set up civilian government quickly and cement ties with tribal leaders.
Gen Sanchez commanded coalition forces in Iraq for a year
The White House this year injected an extra 30,000 US troops into Iraq in the hope of stemming sectarian violence and sowing some political stability.
But Gen Sanchez branded this so-called "surge" strategy a "desperate attempt" to make up for years of shortcomings.
"The best we can do with this flawed approach is stave off defeat," he warned.
The White House responded by pointing to the report by current commander Gen David Petraeus and US Ambassador Ryan Crocker, who said the situation was difficult but marked by gradual improvements.
White House spokesman Trey Bohn said: "We appreciate his (Gen Sanchez's) service to the country... As General Petraeus and Ambassador Crocker have said, there is more work to be done, but progress is being made in Iraq."
Gen Sanchez was commander of coalition forces in Iraq for a year from mid-2003.
He retired last year in the aftermath of the scandal over detainee abuse at Abu Ghraib prison in Baghdad. He was cleared of any wrongdoing.