W grudniu 2004 w ramach wymiany zawodników przeszedł do Atlanta Braves. 6 sierpnia 2005 w meczu z St. Louis Cardinals zaliczył 100. wygraną w MLB. W styczniu 2006 otrzymał powołanie do reprezentacji Stanów Zjednoczonych na marcowy turniej World Baseball Classic, jednak odmówił występu z powodów zdrowotnych. W sierpniu 2008 zmuszony był przejść operację Tommy’ego Johna, a po raz pierwszy po rehabilitacji zagrał 1 września 2009 w meczu z Florida Marlins notując zwycięstwo.
W listopadzie 2009 podpisał nowy, trzyletni z opcją przedłużenia o rok kontrakt wart 37 milionów dolarów. 28 sierpnia 2009 w spotkaniu z Florida Marlins ustanowił rekord kariery zaliczając 13 strikeoutów. 30 kwietnia 2013 w meczu przeciwko Washington Nationals został trzecim, aktywnym wówczas miotaczem, który osiągnął pułap 200 zwycięstw.
W listopadzie 2013 jako wolny agent podpisał dwuletni kontrakt wart 23 miliony dolarów z San Francisco Giants. 27 sierpnia 2014 w spotkaniu z Colorado Rockies zaliczył 2000. strikeout w MLB. W tym samym roku zagrał w dwóch meczach World Series, w których Giants