The `Scream & Shout` singer generously went to a cash machine to withdraw five $20 bills for the street sleeper, but she started "screaming" as he went in for a hug and security staff leapt to her rescue because they thought she was being mugged.
An onlooker outside pharmacy in Los Angeles said: "This shabby-looking guy approached Britney outside the shop.
"He said to her: `Please help me, I`m at the end of my rope.` So she walked to a nearby cash machine and withdrew five $20 bills and gave them to him.
"He was so taken aback and happy he jumped up and lunged at her for a big bear hug. Britney started screaming and within seconds the shop`s security guards had run over."
But the 31-year-old pop megastar quickly explained she was just donating money to the homeless man and the situation was resolved.
A source told the Daily Star newspaper: "The security men snatched the notes out of the man`s hand and automatically thought he`d mugged her.
"Britney was frantically trying to explain, saying, `No! No, give this man his money back, I gave it to him.`
"The man was so grateful and didn`t actually seem that fussed by all the drama."
Britney isn`t the only generous celebrity around. Russell Brand gave his friends $2,400 to hand out to homeless people in Los Angeles over Christmas, and One Direction star Harry Styles splashed out $4,800 on pizza for some people living rough last year when he had a day off in Los Angeles.