I honestly can't say who won the debate, because my wife just couldn't take any more about 45 minutes into it and demanded we watch an old Sex and The City on DVD. I can't say I feel any remorse about going along with her request.
Based on what I saw, and the fact that everyone with any sense was either: a) watching the Yankees game or; b) celebrating the Red Sox victory; I'd say that there was nothing here to change the momentum of the race. But in one sense, this has to be considered a loss for Bush. Foreign policy is--despite his pathetic handling of the Iraq war--his strong suit. And he wasn't able to land any truly devastating blows. The folks on MSNBC and Fox couldn't believe that Bush didn't try to nail Kerry on failing to support a war (the 1991 Gulf War) that embodied every single test for the use of force that Kerry now says he would use as a criteria. Perhaps the Bush campaign will do so in their advertising. But this would be much more effective if the president had landed a powerful blow in this debate on the subject. And given that the next debate, which people will actually watch, is on domestic policy, he won't really have an opportunity to do so personally.
So the bottom line is, this doesn't shift the momentum, and that's good for Kerry, since the wind still appears to be at his back. I'm sticking to my prediction--Kerry 305.