What causes blood blister on roof of mouth and how long to heal?

Cause? The most likely cause would be some irritation, perhaps from eating a hard or sharp piece of food, or accidental abrasion while brushing your teeth. However, without actually being able to see you clinically, we can't give you an accurate diagnosis. It should be gone in about one week. If it lasts more than two weeks, make sure you have it diagnosed by your dentist!
Many causes. Trauma, burn, hyperangina, hand foot mouth disease, herpes, etc. See a dentist for an examination and depending on the cause it can be as soon as a few days to weeks.

Related Questions

How long does it take for a blood blister on your lip to go?

7-10 days. Normal healing is 7-10 days for infectious blood blisters; 4-7 days for traumatic injuries and see your doctor if it does not heal within 3-4 weeks. Read more...