O 13 de setembro de 2018, Karlsson (xunto con Francis Perron) foi traspasado aos San Jose Sharks a cambio de Chris Tierney, Dylan DeMelo, Josh Norris, Rūdolfs Balcers, a selección de primeira rolda dos Sharks en 2020, a selección de segunda rolda en 2019
e unha selección condicional de segunda rolda en 2021. Marcou o seu primeiro gol cos Sharks o 18 de novembro nunha vitoria por 4 a 0 sobre os St. Louis Blues. Despois dun comezo lento da tempada, Karlsson converteuse no quinto defensor da historia da liga en ter polo menos unha asistencia en 14 partidos consecutivos despois dunha vitoria por 7 a 2 sobre os Edmonton Oilers o 8 de xaneiro de 2019. O 23 de decembro, Karlsson foi suspendido por primeira vez na súa carreira por dous partidos por un cheque ilegal para a cabeza do xogador de Los Angeles Kings Austin Wagner. Unha lesión na virilha resultou en que Karlsson faltase a moitos xogos preto do final da tempada antes de volver para o último partido da tempada contra o Colorado Avalanche. Terminaría a tempada con 45 puntos en 53 partidos, o seu menor número de puntos desde a tempada 2012-13. Karlsson axudou a San Jose a chegar ás Finais da Conferencia Oeste durante os playoffs de 2019, aínda que sufriu outra lesión na virilha nun partido contra o St. Louis Blues, o que o levou a perder o último partido de San Jose dos playoffs cando o equipo perdeu 5-1 no xogo 6. Terminaría os playoffs con 16 puntos en 19 partidos. O 31 de maio, someteuse a unha cirurxía na virilha.