Oscar Pistorius broke down in tears as he read out a tender Valentine's Day card from Reeva Steenkamp in which she wrote "I love you" – just hours before he shot her dead.
Reading out the heartfelt message in a quavering voice, Pistorius said: "Roses are red, violets are blue, I think today is a good day to tell you that I love you."
Steenkamp signed the card 'Reeves' and drew a smiley face with three kisses.
The 27-year-old described the envelope Steenkamp put the card in, which read "Ozzie" with "some hearts and a squiggle."
Model Steenkamp gave the Olympian and Paralympian the card along with a gift of framed photographs of the pair.
Defence lawyer Barry Roux asked the disabled runner to read out the message she wrote during a seventh day of cross-examination for the runner.
Pistorius told North Gauteng High Court he had not been able to open the card and gift for months following her death because it was too painful for him to do so.
He previously said he never told Steenkamp he loved her before the 29-year-old model died from a flurry of shots fired by Pistorius on Valentine's Day last year.
Pistorius denies premeditated murder and claims he mistook Steenkamp for an intruder inside his luxury home on the outskirts of Pretoria. The prosecution alleges he killed her following an argument between the couple.
He also faces charges of illegally firing a gun in public and of illegally possessing ammunition, both of which he denies.
There are no juries at trials in South Africa, and his fate will ultimately be decided by Judge Thokozile Masipa.
The trial continues.