Media playback is not supported on this device
The 28-year-old, who won Olympic bronze in 2012, cleared 2.33m to finish second behind Italian Gianmarco Tamberi.
Team captain Asha Philip was fifth in the women's 60m but Dina Asher-Smith suffered a minor hamstring injury in her semi-final and missed the final.
And Lynsey Sharp and Adelle Tracey both failed to reach the 800m final.
Sharp, the European and Commonwealth silver medallist, finished second in her heat, but her time of two minutes, 02.75 seconds was not quick enough to progress as a fastest loser.
"Even though it may not look like it was a success, to me it was because I've learned a lot," said the Scot.
In May 2014, Grabarz questioned his future in the sport after a knee operation left him jumping, in his words, "like a 16-year-old girl" and that failing to clear 1.80m on his return to training was "the most depressing day of his life".
However, a first-time clearance of 2.33m saw him beat Erik Kynard, the man who won silver at the London Olympics, on countback.
"I'm ecstatic, I just can't quite believe it," he said after winning Britain's third medal of the Championships.
"If someone said I'd get that result two years ago I wouldn't have believed it, I would have bitten their hand off."
Media playback is not supported on this device
American Barbara Pierre won the women's 60m title in 7.02secs - 0.02 ahead of Dutch favourite Dafne Schippers.
Philip crossed the line in 7.14 seconds to miss out on a medal.
"I'm gutted," she said. "I came here for a medal, I wanted a medal. I came fifth and I didn't run a personal best or a season's best."
Asher-Smith's withdrawal from the final was a precautionary move, given the Rio Olympics are only five months away.
American Ashton Eaton won his third successive heptathlon title to add to the pentathlon title won by his Canadian wife Brianne Theisen-Eaton the day before.
It makes them the first married couple to win gold medals at the same world championships.
"I was thinking it doesn't matter what happens to me," said Eaton, who was born and lives in Portland.
"Brianne is the one that stole the show. I am really happy about that and proud of her," he added of his wife, who finally ended a frustrating run of second-place finishes at major championships.
Eaton's winning total of 6,470 points in the seven-event competition was 188 clear of nearest rival Oleksiy Kasyanov of Ukraine.
Meanwhile, in a meeting in Slovakia, Tom Bosworth broke the 20km walk British record, finishing in one hour 20 minutes and 41 seconds.
The 26-year-old Briton took one minute 22 seconds off the previous best, set by Ian McCombie in 1988.
Robbie Grabarz won high jump silver on another otherwise disappointing day for British athletes at the World Indoor Championships in Portland.