Short answer: Sasuke.
Long answer: Nobody won. Sasuke was able to walk away from the battle, but in doing so, he abandoned nearly everything to chase a dream. Furthermore, Naruto was able to push him to his limit. I think that Sasuke knew this, and therefore realized that Naruto, if he wanted to, could have killed him. In other words, though Sasuke won the battle, he knew that he shouldn't have.
Naruto didn't fair any better. Sasuke didn't kill him, but he failed to complete his mission. He has been trying to resolve this issue ever since.
The only person that one could even assume won the battle is Orochimaru. With Sasuke completely turning his back on his closest friend, Orochimaru succeeded in getting Sasuke to join his faction. However, it was still too late, and thus, even Orochimaru didn't win.
Therefore, though Sasuke physically and technically won the battle, nobody really benefited in any way from Naruto and Sasuke fighting.