He has previously played in MLB for the St. Louis Cardinals, Arizona Diamondbacks, Kansas City Royals, Cincinnati Reds and Seattle Mariners.
Weaver grew up a fan of the Tampa Bay Rays of Major League Baseball (MLB).
[8] The St. Louis Cardinals selected Weaver in the first round with the 27th overall pick of the 2014 Major League Baseball draft.
He earned the Cardinals July Pitcher of the Month Award after compiling a 3–1 record and an 0.94 ERA in 28+1⁄3 innings pitched (IP) in five starts.
[12] Baseball America selected Weaver for the high Class-A minor leagues All-Star team for the 2015 season,[13] In 19 total starts for Palm Beach in 2015, he pitched to an 8–5 record and 1.62 ERA.
[14] He did not make his 2016 debut for the Springfield Cardinals until June 4 because of a fractured left wrist sustained while running down fly balls during batting practice in spring training.
[15] After posting a 1.40 ERA with 88 strikeouts in 77 innings pitched with Springfield, the Cardinals promoted Weaver to the Memphis Redbirds on August 3.
[16] On August 13, 2016, the Cardinals called Weaver up from Memphis to make his major league debut and start in place of injured starter Michael Wacha against the Chicago Cubs.
Weaver pitched four innings, giving up two runs, four hits, three walks and three strikeouts for no decision in an eventual 8–4 win.
[22] On December 5, 2018, the Cardinals traded Weaver, Carson Kelly, Andy Young, and a draft pick to the Arizona Diamondbacks in exchange for Paul Goldschmidt.
[30] Weaver began the 2022 season as a relief pitcher,[31] but went on the injured list with elbow inflammation on April 10.
[34] On August 1, 2022, the Diamondbacks traded Weaver to the Kansas City Royals for infielder Emmanuel Rivera.
[45] On September 6, he earned his first career save, pitching a scoreless ninth inning against the Chicago Cubs at Wrigley Field.
[46] Weaver converted all four of his save chances in September, producing 25 strikeouts over 12 innings and holding opposing hitters to a .438 OPS during the month.