[3] Espinal played for the Rookie-level Gulf Coast League Red Sox in 2016, hitting .244/.330/.267 with 10 runs batted in (RBI).
[4][5] Espinal split the remainder 2018 between the Advanced-A Dunedin Blue Jays and the Double-A New Hampshire Fisher Cats, hitting .297/.356/.444 with 10 home runs and 60 RBI between the two teams and Salem.
[8] Espinal split the 2019 season between New Hampshire and the Triple-A Buffalo Bisons, hitting a combined .287/.347/.393 with seven home runs and 71 RBI.
[12] On July 23, 2020, he was added to the Blue Jays active roster to begin the 2020 season, which had been delayed due to the COVID-19 pandemic.
On July 3, 2021, Espinal hit his first career major league home run, a two-run shot off Tampa Bay Rays reliever Matt Wisler at Sahlen Field in Buffalo.
[21] On March 20, 2024, the Blue Jays traded Espinal to the Cincinnati Reds in exchange for right-handed pitcher Chris McElvain.