On August 1, 2016, the Yankees traded Nova to the Pittsburgh Pirates for two players to be named later. On August 30, the players were identified as Stephen Tarpley and Tito Polo. Nova made 11 starts for the Pirates, and pitched to a 3.06 ERA with 52 strikeouts and three walks in 64 ⁄3 innings pitched. He also pitched three complete games.
On December 27, 2016, Nova officially signed a three-year, $26 million contract with the Pirates. Nova won the National League's Pitcher of the Month Award for April 2017, after he led the league with an 0.75 WHIP, was second with 36 innings pitched and a 1.50 ERA, and threw two complete games (one shutout). After throwing six shutout innings against the Miami Marlins on June 11, Nova became the first Pirate to throw at least six innings in his first thirteen starts to begin a season since Eddie Solomon in 1981, who did it seventeen times. Nova's streak ended at fifteen starts, after pitching five innings of two run ball in a 6–2 win over the Rays in his sixteenth start of the year. At the All-Star break, Nova had a 3.21 ERA in 120 ⁄3 innings across 18 games started. He struggled in the second half of the season, including a three inning outing on August 30, which led the Pirates to skip Nova's next start. He ended the season with a 4.14 ERA in 187 innings pitched.