The 36-year-old singer was performing in Portland with Blake Mills when someone from the crowd began heckling her, reported E! Online.
"Fiona! Get healthy! We want to see you in 10 years!," the girl yelled from the crowd.
Fiona, who was said to be visibly perturbed by the remark, proceeded to yell back, "I am healthy! Who do you think you are? I want the house lights on so I watch you leave!"
The lights reportedly did come on and the same girl passed another comment, "I saw you 20 years ago and you were beautiful!"
But she soon managed to collect herself enough to perform 'Waltz (Better Than Fine)' which she sung while sobbing slightly.
The singer then apologised to the audience and brought an end to the show.