Lawrence was not selected in the 2010 Major League Baseball draft, and signed with the Toronto Blue Jays as an undrafted free agent.[5][6] In lieu of a signing bonus, Lawrence received a plane ticket to Dunedin, Florida.[7] He was assigned to the Low–AAuburn Doubledays, where he was named a mid-season All-Star,[8] and earned a promotion to the Single–ALansing Lugnuts before the end of the season. In total, Lawrence went 7–2 in 2010, with a 2.33 ERA and 61 strikeouts in 771⁄3 innings.[2] Lawrence pitched the majority of the 2011 season with Lansing, and was called up to the High–ADunedin Blue Jays four separate times for brief stints.[8] On July 1, he held a 5–8 record and 4.40 ERA with Lansing but managed to turn his season around, going 9–1 with a 1.93 ERA from that point onward.[7] In his four starts for Dunedin in 2011, Lawrence went 3–1 with a 2.84 ERA and 14 strikeouts.[2]
Lawrence opened the 2012 campaign with the Double–ANew Hampshire Fisher Cats.[8] After struggling in three appearances, he was assigned back to Dunedin, where he finished the season. In 1511⁄3 total innings, he posted a 9–7 win–loss record, 3.87 ERA, and 96 strikeouts.[2] Lawrence went to Major League spring training with the Blue Jays as a non-roster invitee, and was assigned to the Triple-ABuffalo Bisons on April 8.[8] He was demoted to Dunedin the following day, and remained with Dunedin for most of the 2013 season, making two appearances for both New Hampshire in August.[8] All told, Lawrence finished the year with a 4–7 record, 4.53 ERA, and 63 strikeouts in 1031⁄3 innings.[2] Lawrence pitched the entire 2014 season with New Hampshire, going 9–9 with a 3.69 ERA and 93 strikeouts in 1511⁄3 innings pitched.[2] In the offseason, he made eight appearances for the Bravos de Margarita of the Venezuelan Winter League.[2]
Lawrence participated in 2015 Major League spring training, and played mostly for New Hampshire that year, making one start for Buffalo in May.[8] In August, he set the all-time wins record with New Hampshire after earning his 20th win as a Fisher Cat.[9] In a career-high 1672⁄3 innings, he went 12–14 with a 4.56 ERA and 97 strikeouts.[2] Lawrence returned to the Bravos de Margarita in the offseason, pitching an additional 362⁄3 innings.[2] 2016 saw Lawrence remain in Triple–A for the first significant amount of time in his career, as he split the year with the Bisons and Fisher Cats. In 28 total starts, he would post an 8–12 record, 4.17 ERA, and 108 strikeouts.[2] Lawrence elected free agency following the season on November 7, 2016.[10] He re-signed with the Blue Jays organization on November 14.[8] For the third-consecutive offseason, Lawrence played winter ball with the Bravos de Margarita.[2] He took part in Major League spring training and was assigned to Triple-A in late March. On April 4, Lawrence was announced as the Opening Day starter for Buffalo.[11] Due to two separate weather delays and his call-up to the Majors, Lawrence did not make the start on Opening Day.[12]
On April 8, 2017, Lawrence was called up by the Blue Jays.[13] He made his MLB debut that night against the Tampa Bay Rays, taking the loss after walking in the winning run in the 11th inning.[14] Lawrence was designated for assignment on May 8.[15]
Seattle Mariners
On May 11, 2017, Lawrence was claimed off waivers by the Seattle Mariners.[16] On June 1, he set a Mariners franchise record for most strikeouts in a single relief appearance when he struck out 9 batters over 5 innings against the Colorado Rockies.[17] Lawrence earned his first major league win on August 1, pitching 21⁄3 innings of relief against the Texas Rangers in an 8–7 Mariners win.[18] Between the two teams, for the season he was 2-3 with a 6.34 ERA. Left-handed batters had a higher batting average against him, .388 (in 20 or more innings), than against all other MLB pitchers.[19] He elected free agency on November 6,[20] and signed a minor league contract with the Mariners on December 7.[21]
Lawrence's contract was purchased by the Mariners on March 28, 2018, and he was assigned to the Opening Day roster.[22] For the season, he was 1-0 with a 7.33 ERA. He was released on November 29, 2018, in order to pursue a playing career in Japan.[23]
On January 28, 2020, Lawrence signed a minor league deal with the Minnesota Twins, but was released before the season began. On August 10, Lawrence re–signed with the Twins on a new minor league contract.[26] However, he never appeared for the organization due to the cancellation of the minor league season because of the COVID-19 pandemic.[27] Lawrence became a free agent on November 2.[28]
Toronto Blue Jays (second stint)
On March 30, 2021, Lawrence signed with the York Revolution of the Atlantic League of Professional Baseball. On May 19, prior to the start of the ALPB season, Lawrence’s contract was purchased by the Toronto Blue Jays organization and was assigned to the Triple-A Buffalo Bisons.[8][29] On November 29, 2021, Lawrence signed a new minor league contract with the Blue Jays and was invited to spring training.[30]
Lawrence began the 2022 season with Triple-A Buffalo. On May 4, 2022, Lawrence had his contract selected to the active roster to take the place of Gosuke Katoh, who had been designated for assignment.[31] On November 9, Lawrence was removed from the 40-man roster and sent outright to Triple–A.[32]
On January 3, 2023, Lawrence re-signed with Toronto on a new minor league deal.[33] In 18 starts for Triple-A Buffalo, he registered a 3–7 record and 4.67 ERA with 81 strikeouts in 90+2⁄3 innings pitched. On July 17, he exercised the opt-out clause in his contract and was released by the team.[34]
St. Louis Cardinals
On July 20, 2023, Lawrence signed a minor league contract with the St. Louis Cardinals organization.[35] After 3 starts for the Triple–A Memphis Redbirds, on August 15, the Cardinals selected Lawrence's contract after they placed Steven Matz on the injured list.[36] In 15 games for St. Louis, he registered a 6.59 ERA with 20 strikeouts in 27+1⁄3 innings pitched. Following the season on October 26, Lawrence was removed from the 40–man roster and sent outright to Triple–A Memphis. However, Lawrence subsequently rejected the assignment and elected free agency.[37]
Seattle Mariners (second stint)
On February 7, 2024, Lawrence signed a minor league contract with the Seattle Mariners that included an invitation to spring training.[38] In 29 starts for the Triple–A Tacoma Rainiers, he logged an 11–11 record and 5.95 ERA with 108 strikeouts across 165 innings pitched. Lawrence elected free agency following the season on November 4.[39]
On November 15, 2024, Lawrence re-signed with the Mariners on a new minor league contract.[40]