10 września 2007 w US Open 2007, w meczu finałowym nie wykorzystał znakomitych okazji (m.in. potrójnej piłki setowej w pierwszym secie; w 2. secie serwował przy swoim prowadzeniu 4:2) i po ciężkim pojedynku uległ Rogerowi Federerowi 7:6(4), 7:6(2), 6:4.
2008 W Australian Open 2008 ponownie zmierzył się z Rogerem Federerem w półfinale. Tym razem wygrał 7:5, 6:3, 7:6(7). W finale wygrał z nierozstawionym Jo-Wilfriedem Tsongą 4:6, 6:4, 6:3, 7:6(2).
W finale turnieju Pacific Life Open w Indian Wells wygrał z Mardy Fishem 6:2, 5:7, 6:3. W sezonie kortów ziemnych kontynuował swoje świetne występy wygrywając w Rzymie i dochodząc do półfinałów w Monte Carlo i Hamburgu i na Roland Garros. W Hamburgu podobnie jak i na Roland Garros w meczu półfinałowym walczył z Rafaelem Nadalem o pozycję numer 2 w rankingu ATP przed turniejem French Open. Ostatecznie Nadal utrzymał to miejsce po wygranej 7:5, 2:6, 6:2 w Hamburgu i 6:4, 6:2, 7:6(3) na Roland Garros. Po finale Queen’s Clubu (ponownie zmierzył się w nim z Rafaelem Nadalem i trzeci raz z rzędu przegrał), nieoczekiwanie odpadł już w drugiej rundzie na trawach Wimbledonu, gdzie odbywa się 3 z 4 Wielkich Szlemów. Serba pokonał Marat Safin w 3 setach. Po nieudanym występie w Londynie, tenisista wziął udział w turnieju w Toronto, gdzie przegrał w ćwierćfinale z Andym Murrayem.