In 2003, Freire moved to Rabobank, where in his first season he won six races. In 2004 he won Milan–San Remo, Trofeo Luis Puig, a stage and second place overall in Tirreno–Adriatico, a stage in the Vuelta a España and for the third time, and the second time in Verona, the world championship. He started 2005 winning three stages, the points classification and the yellow jersey at Tirreno–Adriatico, as well as the Brabantse Pijl, Trofeo Alcudia and Trofeo Mallorca, all before the end of March. His season was then cut short by a saddle sore.