Pandya made his first-class debut on 6 October 2016, playing for Baroda during the 2016–17 Ranji Trophy tournament. Within the next few months, he became the leading run scorer and leading wicket taker for Baroda in 2016-17 Vijay Hazare Trophy. He scored 366 runs in 8 matches, making for an average of 45.75 and strike rate of 81.33. This included three half centuries, with a high score of 78. In bowling, he took 11 wickets in 8 matches with economy rate of 4.82, an average of 25.09 and strike rate of 31.10. His best bowling score during the eight matches was 4/20. In 2017 he featured in an India A tri-series victory over South Africa A and Afghanistan A.
At the 2016 IPL auction, Mumbai Indians purchased Pandya for ₹2 crore. He made his IPL debut in April 2016, playing against Gujarat Lions at Wankhede Stadium, Mumbai. His first wicket came with the dismissal of Dinesh Karthik, who was caught in the deep by Harbhajan Singh. He finished his first match with figures of 1/20 in 4 overs. In batting, he scored 20 runs off 11 balls, which included three fours. For his performances in the 2016 IPL season, he was named in the Cricinfo and Cricbuzz IPL XI.
In 2016, he scored 86 from 37 balls and took the wickets of Quinton De Kock and Zaheer Khan and was adjudged to be the Player of the Match against Delhi Daredevils at ACA-VDCA Stadium, Visakhapatnam. He continued to produce consistent performances with the bat and ball throughout the tournament. He was declared as the Player of the Match for his performance of 47 in a final victory against Rising Pune Supergiant. For his performances in the 2017 IPL season, he was named in the Cricinfo and Cricbuzz IPL XI.