Mike Hoffman put San Jose ahead 1-0 at 5:06 of the second period with a shot from the left hash marks after Eklund fed him from behind Montreal's net.
Eklund made it 2-0 on the power play at 12:30. Calen Addison set him up for a one-timer from the left face-off circle.
"He's a smart player," Hertl said of Eklund. "We've had pretty good chemistry the last couple of games we've played together, and he's worked hard."
Kovacevic cut it to 2-1 at 18:02 with a wrist shot through traffic. Jayden Struble got an assist for his first NHL point in his second game.
"I think it gave us a little bit of life because it's not like we were playing a poor game," Canadiens coach Martin St. Louis said. "We were down on the scoreboard, but I didn't feel like we were getting beat. We were just down on the scoreboard and just kind of trying to stay the course, and getting that goal at the end of second, it’s big."
Caufield tied it 2-2 at 3:26 of the third period on a wrist shot from the right circle.
"Disappointed because [we were] up 2-0 and they found a way to tie it, which is unfortunate," Sharks coach David Quinn said. "But you're going to have bad nights in this league from time to time, and you want to make sure they don't turn into two bad nights in a row."
NOTES: Sharks forward Filip Zadina did not play after the first period because of an upper-body injury. There was no update on his status for San Jose’s home game Saturday against the Vancouver Canucks. ... Eklund has played 37 NHL games. ... Caufield ended a six-game goal drought. ... Kovacevic extended the Canadiens’ streak with a goal by a defenseman to eight games. … Montreal center Christian Dvorak was 10-for-14 on face-offs (71 percent). ... The Canadiens placed defenseman Arber Xhekaj (upper body) on injured reserve Friday retoractive to Nov. 16.