2018. szeptember 13-án Karlsson (Francis Perronnal együtt) a San Jose Sharks-ba került cserébe Chris Tierney, Dylan DeMelo, Josh Norris, Rūdolfs Balcers, a Sharks első körű választása 2020-ban, második körű választása 2019-ben.
és egy feltételes második körös választás 2021-ben. Az első gólját november 18-án szerezte a Sharks-szal a St. Louis Blues elleni 4-0-os győzelemben. A szezon lassú kezdetét követően Karlsson lett az ötödik védő a bajnoki történelemben, aki legalább egy asszisztált 14 egymást követő meccsen az Edmonton Oilers elleni 7-2 győzelmét követően 2019. január 8-án. December 23-án Karlsson karrierjében először két mérkőzésre felfüggesztették a Los Angeles Kings játékosának, Austin Wagnernek szóló illegális csekk miatt. Karlsson ágyékos sérülése miatt a szezon vége felé sok meccset kihagyott, mielőtt visszatért a szezon utolsó meccsére a Colorado Avalanche ellen. 53 meccsen 45 ponttal fejezte be a szezont, ez volt a legalacsonyabb pontja a 2012/13-as szezon óta. Karlsson segített San Jose-nek elérni a Nyugati Konferencia döntőjét a 2019-es döntőn, bár a St. Louis Blues elleni meccsen újabb ágyék sérülést szenvedett, ami miatt kihagyta a San Jose utolsó játékát a döntőn, amikor a csapat 5-1-re veszített a hatodik meccsen. 19 meccsen 16 ponttal fejezte be a play-offot. Május 31-én ágyékműtétet kapott.