The Cardinals added Cabrera to their 40-man roster after the 2018 season.[8] He began the 2019 season with Memphis.[9] He was promoted to the major leagues for the first time on May 29, 2019.[10] He made his debut that night in a start versus the Philadelphia Phillies,[11] giving up five runs (three earned) over 3+2⁄3 innings, striking out five and walking two in an eventual 11–4 Cardinals loss.[12] He made one more start before being re-assigned back to Memphis. He was recalled to St. Louis again on June 13[13] and optioned back to Memphis on June 24. He was recalled to St. Louis once again on August 31, finishing the season in the majors. Over 20+1⁄3 innings pitched with St. Louis during the regular season, Cabrera went 0–2 with a 4.87 ERA and 19 strikeouts.
In the shortened 2020 season, Cabrera recorded a 2.42 ERA with 32 strikeouts over 22+1⁄3 innings of work while raising his whiff rate from 18.1% in 2019 to 40.3%.[14] In 2021, Cabrera emerged as a key member of the Cardinals' bullpen, appearing in 71 games in which he went 4–5 with a 3.73 ERA and 77 strikeouts over 70 innings.[15]
Cabrera was suspended for one game following a benches-clearing incident half an inning after he hit J.D. Davis of the New York Mets with a pitch on April 27, 2022. Mets first baseman Pete Alonso publicly criticized Cabrera for his behavior during the ensuing conflict between the teams. [16] Cabrera pitched in 31 games for the Cardinals in 2022, registering a 4-2 record and 4.63 ERA with 32 strikeouts in 44+2⁄3 innings of work.
Cabrera was optioned to Triple-A Memphis to begin the 2023 season.[17] He made 32 appearances for St. Louis in 2023, posting a 5.06 ERA with 38 strikeouts in 32 innings of work. On July 18, 2023, Cabrera was designated for assignment following the signing of Ryan Tepera.[18]
Toronto Blue Jays
On July 21, 2023, Cabrera was traded to the Toronto Blue Jays in exchange for minor league catcher Sammy Hernández.[19] In 29 appearances down the stretch, he logged a 2.66 ERA with 20 strikeouts over 23+2⁄3 innings pitched. On March 31, 2024, Cabrera was suspended again, this time for three games, after shoving José Caballero of the Tampa Bay Rays.[20] Cabrera made 69 appearances for Toronto in 2024, compiling a 3–3 record and 3.59 ERA with 50 strikeouts across 62+2⁄3 innings pitched. On November 4, he was removed from the 40–man roster and sent outright to the Triple–A Buffalo Bisons, but he rejected the assignment and elected free agency.[21]
New York Mets
On November 27, 2024, Cabrera signed a minor league contract with the New York Mets.[22]