Rubens Barrichello vant sin tiende Formel-1 seier, og den første på fem år, foran Hamilton og Kimi Räikkönen.