Kroft was redshirted as a freshman in 2011 at Rutgers. As a redshirt freshman in 2012, he played in 11 games and had three receptions for 59 yards and a touchdown. As a redshirt sophomore in 2013, Kroft started 12 of 13 games, including a career-best 133 yards against Arkansas in game 4. On the season, he had a team-leading 43 receptions and 573 yards, along with four touchdowns, and was a first-team all-conference selection. Kroft started 12 of 13 games as a redshirt junior in 2014, but took on a restricted role and reached neither five receptions nor 50 yards in any of them. On the season, he had 24 receptions for 269 yards. He was awarded the "Loyal Knight" award for his willingness to scale back. After his redshirt junior season, he entered the 2015 NFL Draft. He finished his collegiate career with 70 receptions for 901 yards and five touchdowns.
Kroft was drafted by the Cincinnati Bengals in the third round, 85th overall, in the 2015 NFL Draft. He played back-up to Pro Bowl tight end Tyler Eifert. He caught his first career touchdown in Week 16 against the 49ers on a 20-yard pass from AJ McCarron. He played in all 16 games his rookie season with six starts, recording 11 receptions for 129 yards and one touchdown.
2016 season
Kroft was third on the depth chart behind Eifert and C.J. Uzomah for much of the season, compiling 10 receptions for 92 yards off the bench.
2017 season
Kroft began the season behind Tyler Eifert, but after Eifert was injured in Week 2, Kroft took the starting role. In Week 4, he had six receptions for 68 yards and two touchdowns against the Browns, leading the team and setting career bests in all three categories. In Week 9, he had a career-long 59-yard reception against Jacksonvilleen route to a career-best 79 receiving yards. In Weeks 11 and 12 he had back-to-back receiving touchdowns for the first time in his career, both of one yard; the one in Week 11 occurred after teammate Dre Kirkpatrick returned an interception 101 yards, but committed an unforced fumble just before reaching the end zone.
2018 season
Kroft suffered a foot injury in Week 5 and missed the next five games in hopes he could return. He was placed on injured reserve on November 16, 2018, officially ending his season. He played in five games and finished with four receptions for 36 yards and no touchdowns.
Buffalo Bills
2019 season
On March 13, 2019, Kroft signed a three-year $18.75 million contract with the Buffalo Bills. On May 20, on the first day of OTAs, he broke his foot during practice, which required surgery.