She was driving near Boston, Lincolnshire, with Jack, 16, and two-year-old Isabella, when her car hit a pothole and veered into a dyke. the accident happened.
Water rushed into the sinking vehicle, and Rachel, who was six months pregnant, managed to squeeze out and swim to the surface.
She immediately dived back down and managed to grab hold of Isabella.
She had just seconds to decide whether to stay and rescue Jack at the same time or swim back first. But she discovered that she was unable to free Jack, who was strapped into the into the front seat and trapped behind a closed door.
Fearing she would let go of her daughter if she stayed under water, she decided to get Isabella out safely first.
When she tried to go back to save her son, she was held back by paramedics, who had by then arrived on the scene. Two of Jack's friends, who had also been travelling in the car, had managed to free themselves and had run to a nearby house for help.
The paramedics managed to pull Jack from the sunken Citroen Xsara, but he was certified dead in hospital.
Speaking yesterday, Rachel, 39, talked of her torment since the fatal accident, which happened on August 19.
'I have spent every waking moment thinking about how I could have saved both my children,' she said.
She described how her last memory of Jack was of him putting his hand on her arm to protect her as the car began to sink. She said she had told him to keep his window closed in case the breeze upset Isabella, who was sleeping.
Because the window was closed, Jack would have faced a struggle to escape from the rapidly sinking car.
Jack, who was five days away from collecting his GCSE results, loved skateboarding and rock music. A skate park near his home in Dunmow, Essex, was turned into a shrine where friends left tributes to Jack.
One message read: ' A stunning, hugely talented young man with great potential. He will be sadly missed.'