Dwelley attended Oak Ridge High School in El Dorado Hills, California, where he played baseball and football. Originally a quarterback during his first two seasons, Dwelley opted not to play football his junior year to focus on baseball but was convinced by Oak Ridge's football coach to return to the sport for his senior season. After moving to tight end, Dwelley made 43 catches for 568 receiving yards and five touchdowns and was named the team's offensive MVP.[1]
College career
After redshirting his freshman year, Dwelley appeared in 47 games (44 starts) over the course of four seasons with the Toreros. During that time he totaled 197 receptions for 2,305 yards and 26 touchdowns.[2] Dwelley was named 2nd team All-Pioneer Football League during his sophomore after leading the Toreros with 54 receptions for 580 yards and three touchdowns and again as a junior after catching 70 passes for 843 yards and 10 touchdowns.[3] During his senior season Dwelley had 50 receptions for 663 yards led all Football Championship Subdivision tight ends with 10 touchdown receptions, despite missing two games due to injury, and was named first-team All-Pioneer League.[4] Dwelley graduated from USD with a degree in industrial and systems engineering.[5]
Dwelley was promoted from the practice squad to the 49ers' active roster on October 15, 2018, and made his NFL debut on the same night in a 30–33 road loss to the Green Bay Packers on Monday Night Football.[10] Three weeks later, he caught his first NFL pass, an eight-yard reception, in a 34–3 victory over the Oakland Raiders.[11]
Dwelley finished his rookie year with two catches for 14 yards in 11 games and no starts.[12]
2019 season
Dwelley made his first NFL start during a Week 6 20–7 road victory over the Los Angeles Rams, playing fullback following an injury to starter Kyle Juszczyk.[13] During a Week 11 36–26 victory over the Arizona Cardinals, Dwelley scored his first NFL touchdown on a four-yard reception from Jimmy Garoppolo. He also scored a second touchdown on a five-yard pass later in the game.[14]
Dwelley finished his second professional season with 15 receptions for 91 yards and two touchdowns in 16 games and six starts.[15] The 49ers reached Super Bowl LIV, but they lost to the Kansas City Chiefs by a score of 31–20.[16]
2020 season
On March 24, 2020, Dwelley was re-signed by the 49ers to a one-year, $660,000 contract.[17] He finished the season with 19 receptions for 245 yards and a touchdown in 16 games and nine starts.[18]
2021 season
Dwelley signed a one-year contract extension with the 49ers on March 5, 2021.[19] He finished the season with four receptions for 51 yards and a touchdown in 17 games and two starts.[20]
2022 season
On March 29, 2022, Dwelley re-signed with the 49ers.[21] During a Week 8 31–14 road victory over the Rams, he had a career-long 56-yard reception in the fourth quarter.[22] Dwelley finished the season with three receptions for 105 yards and a touchdown in 12 games and no starts.[23]
2023 season
Dwelley re-signed with the 49ers on March 20, 2023.[24]