Compatriot Helen Pattinson led the field round the penultimate lap before Holmes stormed ahead as they approached the final bend.
Wales' Hayley Tullett passed Pattinson in the final straight to take silver, with the English runner claiming bronze.
Holmes' career has been blighted by injury and she was delighted to have run so well.
"Oh my god, I can't believe it," she said.
"I so badly wanted to win here today in front of a home crowd, I couldn't have asked for more.
"After all the ups and downs and all the tears it's the icing on the cake."