Avon and Somerset Police said officers were called to a report that a man had been stabbed in the St Paul’s area of Bristol just before 3.20pm on Friday.
The man, in his 60s, was rushed to hospital before police arrived but later died.
Members of the public detained a woman on Grosvenor Road until officers arrived.
Christina Howell, 36, of Easton, has been charged with murder and will appear at Bristol Magistrates’ Court on Monday.
Police described the victim, who has not yet been named, as a “familiar and popular figure” in the area.
Neighbourhood Chief Inspector Deepak Kenth said: “Our thoughts are very much with the family and friends of the deceased, who was a familiar and popular figure to many people in St Paul’s.
“We remain very grateful to the community for their prompt action to help the injured man and support for our investigation immediately after this tragedy.
“You will still see an increased police presence in the area as our inquiries continue.”
Anyone with information about the incident should call 101, giving the reference 5223237902, or complete a form on the force’s website.