Kennedy grew up in Brigantine, New Jersey and attended Atlantic City High School in Atlantic City, New Jersey.[1] In 2011, as a junior, he went 3–2 with a 2.10 ERA and sixty strikeouts over 44+1⁄3 innings. pitched.[2] After graduating, he enrolled at Fordham University (the only Division I school to offer him a scholarship) where he played college baseball for the Fordham Rams.[3] In 2015, his junior year, he compiled a 6–8 record with a 4.14 ERA, striking out 97 and walking only twenty over 87 innings.[4] Over the course of his collegiate career, Kennedy posted a 15–17 record with 3.73 ERA and 218 strikeouts (tied for second-most in school history) in fifty appearances (thirty starts).[3]
In 2016, he pitched for both the Fort Wayne TinCaps and Lake Elsinore Storm, compiling an 8–11 record with a 3.55 ERA in 28 total starts between both teams, and in 2017, he played with the San Antonio Missions where he pitched to a 13–7 record and 3.70 ERA over 26 starts, earning Texas League All-Star honors.[6] He began 2018 with the El Paso Chihuahuas[7] and was named to the Pacific Coast League All-Star team.[8] In 16 starts for El Paso, he posted a 10–0 record with a 2.72 ERA.
Kennedy made his Major League debut on August 8, 2018, earning the loss after allowing six runs over four innings to the Milwaukee Brewers.[9] Kennedy recorded his first career win on September 1, 2018, pitching six scoreless innings against the Colorado Rockies.[10] In his first Major League season, Kennedy went 1–2 in six starts with a 6.75 ERA and 18 strikeouts before a knee injury ended his season.[11]
Kennedy experienced a lat strain in spring training in 2019 and pitched just one minor league inning that season due to injury.[12][13] Kennedy was outrighted off the Padres roster on October 31. Kennedy did not play in a game in 2020 due to the cancellation of the minor league season because of the COVID-19 pandemic.[14] To begin the 2021 season, he was assigned to El Paso.[15] He was released by the Padres on September 12, 2021.[16]
On May 24, 2022, Kennedy's contract was purchased by the Boston Red Sox and he was assigned to the Double-APortland Sea Dogs.[18] In 25 appearances split between Portland and the Triple-A Worcester Red Sox, he compiled a 3-6 record and 3.87 ERA with 61 strikeouts and 5 saves across 76+2⁄3 innings pitched. Kennedy elected free agency following the season on November 10.[19]
On May 13, 2023, Kennedy's contract was purchased by the Cincinnati Reds organization and he was assigned to the Triple-A Louisville Bats.[21] In 8 starts for Louisville, he logged a 3.71 ERA with 37 strikeouts in 43+2⁄3 innings pitched. On July 4, Kennedy was selected to the major league roster.[22] In 5 appearances for Cincinnati, he recorded a 6.50 ERA with 9 strikeouts in 18.0 innings of work. On October 9, Kennedy was removed from the 40–man roster and sent outright to Triple–A Louisville.[23] The next day, he elected free agency.[24]
On December 27, 2023, Kennedy re-signed with the Reds on a minor league contract.[25] He would start the 2024 season with Triple-A Louisville, logging a 1–5 record and 6.86 ERA across 8 starts. On May 23, 2024, Kennedy was selected to the major league roster.[26] He did not make an appearance for Cincinnati before he was designated for assignment on May 28.[27] Kennedy cleared waivers and was sent outright to Louisville on May 30.[28] He elected free agency on October 7.[29]