In December 2003, the Twins acquired Silva from Philadelphia along with Nick Punto and Bobby Korecky in exchange for Eric Milton, who had been a staple of the Minnesota rotation since 1998.
With the Twins, Silva made a successful conversion from reliever to starter, in one of the biggest surprises in the 2004 season.
He posted a 14–8 mark in 203 innings pitched and finished second in the rotation behind Cy Young winner Johan Santana.
In June, he re-entered the rotation when the struggling #5 starter, Scott Baker, was demoted to the Twins' Triple-A team in Rochester.
In 2007, Silva started as the fifth starter behind Johan Santana, Boof Bonser, Ramón Ortiz, and Sidney Ponson.
Fresh off the WBC, Silva started the 2009 season slower than expected, with very little control over his pitches, and a high ERA.
[6] Silva appeared to have turned his career around early in 2010, becoming the first Cubs starter since 1967 to begin a season with an 8–0 record.
[7] Despite fighting a stomach virus on June 7, he held the Pittsburgh Pirates to one run over seven innings, picking up his eighth win of the year in a 6–1 triumph.