Originally planning for Díaz to spend the 2016 season in Memphis, the Cardinals eventually moved three veteran players to accommodate him becoming the starting shortstop. On April 5, 2016, the Cardinals recalled him to the major league roster to take the place of outfielder Tommy Pham, who had departed on Opening Day two days earlier with an injury. Díaz debuted on the same day as his call-up. In his first major league at bat in the third inning against the Pittsburgh Pirates, he singled off Jon Niese for his first hit in a 6–5 loss. Initially, Díaz' presence on the roster gave the Cardinals a capable hitter with upside who could play shortstop and fill a void until the return of Rubén Tejada, who had injured himself late in spring training. Tejada himself was a replacement signed as a free agent during spring training to replace the already-established starting shortstop Jhonny Peralta, who also had injured himself and was projected to be unable to play significantly longer than Tejada.
Díaz hit his first major league grand slam on September 27, 2016, his first game back after the death of his childhood friend, José Fernández. Díaz was called back out for a curtain call, where he rose his helmet high towards the sky. He stated afterwards, "Every time I put on a uniform, I will think of him." Over his last 31 games of the season, he committed one error.
Díaz batted .300 in 111 games in his rookie year, with 121 hits, 28 doubles, 17 home runs, 69 RBIs, a .369 OBP, and a .510 SLG. He played 106 games at shortstop and was fourth in the league in errors with 16. In the 2016 NL Rookie of the Year voting, he placed fifth.