Common causes of vomiting blood include: swallowing blood following a nosebleed or oral surgery. a tear in the esophagus due to excessive coughing or vomiting. a bleeding ulcer.
Bleeding in your upper gastrointestinal tract (mouth, esophagus, stomach and upper small intestine) from peptic (stomach or duodenal) ulcers or torn blood vessels is a common cause of vomiting blood.
Vomiting that is very forceful or continues for a very long time may cause a tear in the small blood vessels of the throat. This may produce streaks of blood in the vomit. Swollen veins in the walls of the lower part of the esophagus, and sometimes the stomach, may begin to bleed.