Villanueva made his professional debut and pitched at three Minor League levels in. He started the season in the Rookie-level Gulf Coast Marlins where he pitched four scoreless innings in his lone Gulf Coast League start on July 19 against the Gulf Coast League Cardinals. Villanueva made five appearances, one start, for the Short-Season Jamestown Jammers of the New York–Penn League. He allowed one run over six innings in his lone start with the Jammers on September 3. Opponents hit.205 against him. Villanueva was promoted to Class-A and went 1-0 with a 0.77 ERA in four games, two starts, for the Jupiter Hammerheads. In Villanueva pitched for Class-A Advanced Jupiter and the Double-A Jacksonville Suns. With the Hammerheads he went 9-12 with a 3.47 ERA in 26 games, 25 starts. With the Suns he went 0-1 with a 4.50 ERA in two games, both of them starts. He helped the Suns to their fourth Southern League championship as a Marlins' affiliate. Villanueva threw five innings, allowing five hits, no walks, three runs, all earned, and striking out six to earn the win in the final game, however, this was not his main contribution. He hit a three-run go-ahead home run off of the Birmingham Barons pitcher, Andrew Cashner. In 2010 Villanueva was a key figure leading the Jacksonville Suns to a second straight Southern League championship. He was second on the team with 14 wins and 115 strikeouts, and lead the team with four complete games, three shutouts, 179 innings pitched. He was named as a Topps Double-A All-Star, Southern League Post-Season All-Star, Southern League Mid-Season All-Star, and Southern League pitcher of the week for 8/16/2010. On June 15, 2011, Villanueva was called up to replace Osvaldo Martínez. He made his Major League debut against the Philadelphia Phillies on June 15, 2011. He pitched three innings, giving up on eight runs, walking five and striking out two. His first major league strikeout was of Shane Victorino, earning the loss. He started the 2012 season and finished it with the New Orleans Zephyrs going 9-8-1 with a 3.90 ERA, a 1.45 WHIP, in 113 innings pitched with 44 walks, 83 strikeouts in 32 games played. In 2013, he pitched at two levels: Rookie and Triple A. Combined, he threw 64 and a third innings, striking out 50 and walking 14. He had a 2.80 ERA, a 1.17 WHIP, and a 4-3 record. For 2014, he has pitched in 11 games and has a 5-2 record with a 2.48 ERA, a 1.10 WHIP, 39 strikeouts, and 13 walks in 61.2 innings.
On March 30, 2018, Villanueva signed with the Chinatrust Brothers of the Chinese Professional Baseball League as a foreign backup pitcher. He will pitch for the club's farm team and can only be promoted if one of the other three foreign pitchers on the active roster is released. On July 21, 2018, Villanueva was promoted to the Brothers following the release of pitcher Zack Segovia. On September 28, 2018, Villanueva pitched a no-hitter against the Lamigo Monkeys, becoming the 9th player in the history of the league to accomplish the feat, and the second one that season. He became a free agent following the season, but later re-signed with the team as their foreign backup pitcher on April 24, 2019. He was again promoted to the active roster on June 5, 2019. He became a free agent following the season.
Rakuten Monkeys
On February 8, 2020, Villanueva signed with the Rakuten Monkeys of the Chinese Professional Baseball League.