15 Riboflavin-Rich Foods (and Why Migraines Hate Them)
Riboflavin (B2) is key for energy production and has clinical evidence for migraine prevention. These foods have the most.
Data-backed ranking of the strongest food sources
Daily value context so the numbers mean something
Usage tips and tradeoffs, not just a list of names
Created By
EatAndAchieve Editorial System
AI-assisted editorial system
This content is assembled from USDA FoodData Central data, in-house ranking logic, and reusable editorial templates to make nutrition information easier to understand.
Reviewed By
Jordan Vale
Founder, editor, and product builder
Jordan reviews pages for clarity, methodology, and product accuracy before they go live. He also maintains the code, data pipeline, and editorial standards for the site.
How This Page Is Made
Pages on EatAndAchieve combine USDA source data, site-specific scoring logic, and AI-assisted drafting, then receive human review for clarity and methodology. They are educational tools, not medical advice. Read more on the About page.
This ranking focuses on foods that meaningfully deliver riboflavin (b2) per 100g, using USDA FoodData Central as the source of truth. It is a concentration ranking, not a full health score, so the most useful way to read it is to look for foods that fit both your nutrient target and your normal portion sizes.
Why it matters
Riboflavin (vitamin B2) is a key player in energy production โ it is a component of FAD and FMN, coenzymes required for dozens of metabolic reactions. It also serves as an antioxidant, supports iron metabolism, and is needed to activate other B vitamins (B6 and folate) into their usable forms.
Daily target
The FDA daily value is 1.3mg. Deficiency symptoms include cracked lips (cheilosis), sore throat, and inflamed tongue. Riboflavin is water-soluble but relatively stable to heat, making it less prone to cooking losses than some other B vitamins.
How to use the list
Dairy products, eggs, and lean meats are the most reliable sources. Riboflavin is sensitive to light โ milk stored in clear containers loses significant riboflavin within hours. This is one reason milk traditionally comes in opaque containers.
Screening rule
Foods had to clear basic practicality filters before ranking so the list stays useful, not just technically correct.
Best use case
Use this template when you want the single strongest sources of one nutrient and you are willing to compare foods mainly on that axis.
Main caveat
Per-100g leaders are not always everyday staples, which is why calorie density and tradeoffs are called out inside the list.
Turkey, all classes, liver, cooked, simmered earns the top spot with 2.7mg of riboflavin (b2) in a 100g serving. You are looking at 207% of the daily value per 100g, which is why it stands out in a nutrient-specific ranking like this. The extra protein (54% DV) and vitamin C (25% DV) help this entry hold up outside of the headline nutrient. Because protein is high too, it is easier to build a full meal around than some single-purpose nutrient sources.
Worth knowing
Relatively high in cholesterol at 648mg per 100g.
Turkey, all classes, heart, cooked, simmered stays near the top because 1.5mg per 100g is still a very aggressive number for riboflavin (b2). You are looking at 118% of the daily value per 100g, which is why it stands out in a nutrient-specific ranking like this. The extra protein (50% DV) and iron (39% DV) help this entry hold up outside of the headline nutrient.
Worth knowing
Relatively high in cholesterol at 359mg per 100g.
Canada Goose, breast meat only, skinless, raw ranks this highly because it is one of the cleaner ways to get a lot of riboflavin (b2) quickly. 117% of the daily value is enough to make this a serious contributor rather than a token source. It also brings useful amounts of protein (49% DV) and iron (33% DV), so it is not just a one-stat food.
Worth knowing
Relatively high in cholesterol at 80mg per 100g.
Grapes, muscadine, raw stays near the top because 1.5mg per 100g is still a very aggressive number for riboflavin (b2). 115% of the daily value is enough to make this a serious contributor rather than a token source. At 57 kcal per 100g, this is one of the easier entries to use without overthinking portions.
Cheese, gjetost is not the flashiest name on the page, but the nutrient density is real at 1.4mg per 100g. You are looking at 106% of the daily value per 100g, which is why it stands out in a nutrient-specific ranking like this. The tradeoff is calorie density at 466 kcal per 100g, so this works better as a measured addition than a pile-it-on food. It also brings useful amounts of calcium (31% DV) and potassium (30% DV), so it is not just a one-stat food.
Worth knowing
High in sodium at 600mg per 100g, so it may not be the best fit for a low-sodium diet.
Cheese, goat, hard type holds its spot because 1.2mg of riboflavin (b2) is still comfortably strong. That translates to 92% of the daily value, so it can materially move your intake in one serving. The tradeoff is calorie density at 452 kcal per 100g, so this works better as a measured addition than a pile-it-on food. The extra protein (61% DV) and calcium (69% DV) help this entry hold up outside of the headline nutrient.
Worth knowing
High in sodium at 423mg per 100g, so it may not be the best fit for a low-sodium diet.
Nuts, almonds makes the cut on substance, not hype: 1.1mg per 100g is enough to matter in an actual diet. You are looking at 88% of the daily value per 100g, which is why it stands out in a nutrient-specific ranking like this. At 579 kcal per 100g, the nutrient density is strong but the portion size still deserves respect. It also brings useful amounts of protein (42% DV) and fiber (45% DV), so it is not just a one-stat food. The fiber is another reason it tends to be more satisfying than the headline number suggests.
Worth knowing
Calorie-dense at 579 kcal per 100g, so portion size matters.
Nuts, almonds, honey roasted, unblanched makes the cut on substance, not hype: 1.0mg per 100g is enough to matter in an actual diet. That translates to 73% of the daily value, so it can materially move your intake in one serving. At 594 kcal per 100g, the nutrient density is strong but the portion size still deserves respect. The extra protein (36% DV) and fiber (49% DV) help this entry hold up outside of the headline nutrient. The fiber is another reason it tends to be more satisfying than the headline number suggests.
Worth knowing
High in saturated fat with 4.73g per 100g, which is worth watching if you are managing heart health or cholesterol.
Nuts, almond butter, plain, without salt added holds its spot because 0.9mg of riboflavin (b2) is still comfortably strong. That translates to 72% of the daily value, so it can materially move your intake in one serving. At 614 kcal per 100g, the nutrient density is strong but the portion size still deserves respect. It also brings useful amounts of protein (42% DV) and fiber (37% DV), so it is not just a one-stat food. The fiber is another reason it tends to be more satisfying than the headline number suggests.
Worth knowing
High in saturated fat with 4.15g per 100g, which is worth watching if you are managing heart health or cholesterol.
Beef, plate steak, boneless, outside skirt, separable lean only, trimmed to 0" fat, select, cooked, grilled rounds out the ranking with 0.9mg per 100g, which is still enough to be useful if it already fits your meals. 66% of the daily value is enough to make this a serious contributor rather than a token source. The extra protein (57% DV) and iron (30% DV) help this entry hold up outside of the headline nutrient.
Worth knowing
High in saturated fat with 6.13g per 100g, which is worth watching if you are managing heart health or cholesterol.
Cheese, feta rounds out the ranking with 0.8mg per 100g, which is still enough to be useful if it already fits your meals. 65% of the daily value is enough to make this a serious contributor rather than a token source. There is more here than the main number alone, especially the protein (28% DV) and calcium (38% DV).
Worth knowing
High in sodium at 1140mg per 100g, so it may not be the best fit for a low-sodium diet.
Egg, quail, whole, fresh, raw lands lower on the page, but 0.8mg per 100g is still better than what you get from most foods. You are looking at 61% of the daily value per 100g, which is why it stands out in a nutrient-specific ranking like this. There is more here than the main number alone, especially the protein (26% DV) and iron (20% DV).
Worth knowing
Relatively high in cholesterol at 844mg per 100g.
Chicken, heart, all classes, cooked, simmered rounds out the ranking with 0.7mg per 100g, which is still enough to be useful if it already fits your meals. That translates to 57% of the daily value, so it can materially move your intake in one serving. It also brings useful amounts of protein (53% DV) and iron (50% DV), so it is not just a one-stat food. The strong protein content makes it more practical than foods that only win on one micronutrient.
Worth knowing
Relatively high in cholesterol at 242mg per 100g.
Game meat, caribou, raw rounds out the ranking with 0.7mg per 100g, which is still enough to be useful if it already fits your meals. 55% of the daily value is enough to make this a serious contributor rather than a token source. There is more here than the main number alone, especially the protein (45% DV) and iron (26% DV).
Worth knowing
Relatively high in cholesterol at 83mg per 100g.
Game meat, deer, shoulder clod, separable lean only, cooked, braised is here because even the back half of this list still offers respectable riboflavin (b2) density. You are looking at 51% of the daily value per 100g, which is why it stands out in a nutrient-specific ranking like this. It also brings useful amounts of protein (73% DV) and iron (28% DV), so it is not just a one-stat food. The strong protein content makes it more practical than foods that only win on one micronutrient.
Worth knowing
Relatively high in cholesterol at 113mg per 100g.