The Humboldt, Sask., native was in third place heading into the closingevent, the 800 metres, after a disappointing showing over the first six legs.
Theisen-Eaton went out hard in the 800 in a gutsy effort to move up. She led for most of the way before finishing second to take silver for the second straight world championships.
Olympic champion Jessica Ennis-Hill of Great Britain overtook Theisen-Eaton down the stretch in the 800 to seal her second world title in six years.
Ennis-Hill finished with 6,669 points — 115 more than Theisen-Eaton.
Latvia’s Laura Ikauniece-Admidina got the bronze with 6,516 points.
Theisen-Eaton’s medal was Canada’s second of these world championships. Earlier, Ben Thorne won bronze in the men’s race walk, setting a Canadian record in the process.
Later, Andre De Grasse won a bronze medal in the men’s 100 metres, giving Canada three medal through two days of competition in Beijing.