The best high-calorie foods for weight gain are nuts, seeds, dry coconut, peanuts, paneer, whole milk, eggs, dates, and ghee. These high-calorie foods pack a lot of energy into a small portion, so you can gain weight without eating huge plates. Such high-calorie foods suit healthy weight gain because a few spoonfuls can be a big boost to your calorie intake. This guide lists high-calorie foods for weight gain from an Indian kitchen, with the calories, grams of protein, and fat in 100 g of each, so you can plan healthy weight gain with foods you already know. It is written for a skinny person who wants to gain weight, for anyone with a small appetite, and for gym-goers on a high-calorie diet who want nutrient-dense foods, not junk.
Quick Answer: High Calorie Foods for Weight Gain
Walnuts, dry coconut, almonds, cashews, pistachios, and peanuts are the best high-calorie foods for weight gain in this list, at roughly 520 to 670 kcal per 100 g (per the Indian Food Composition Tables (IFCT 2017)). Paneer gives about 305 kcal, dates about 320 kcal, and whole buffalo milk about 105 kcal per 100 g. Pick the foods you enjoy and add a little to every meal. Some of the best foods for weight gain and a healthy diet come with a bonus: they are rich in calories and other nutrients.
Calorie-Dense Foods Per 100 g: The Indian List for Weight Gain
This table shows energy, protein, and fat for 100 g of each food. The values come from the IFCT, which gives energy in kilojoules, and we converted it to kcal. Foods are listed from most to least calorie-rich. Each food is raw or as eaten unless noted. It is a useful list if you want to gain weight with foods from any Indian market.
| Food (100 g) | Energy | Protein | Fat |
|---|---|---|---|
| Walnuts | about 670 kcal | about 15 g | about 64 g |
| Dry coconut (kernel) | about 625 kcal | about 7 g | about 63 g |
| Almonds | about 610 kcal | about 18 g | about 58 g |
| Cashew nuts | about 585 kcal | about 19 g | about 45 g |
| Pistachios | about 540 kcal | about 23 g | about 42 g |
| Peanuts (groundnut) | about 520 kcal | about 24 g | about 40 g |
| Sesame seeds (white) | about 520 kcal | about 22 g | about 43 g |
| Dates, dry | about 320 kcal | about 2 g | under 1 g |
| Raisins, black | about 305 kcal | about 3 g | under 1 g |
| Paneer | about 305 kcal | about 19 g | about 25 g |
| Egg, whole, boiled | about 150 kcal | about 13 g | about 11 g |
| Ripe banana | about 110 kcal | about 1 g | under 1 g |
| Whole buffalo milk | about 105 kcal | about 4 g | about 7 g |
Nuts and seeds are highest in calories because they are rich in fat. Dates and raisins get their calories from natural sugars. Paneer, eggs, and milk bring protein and other nutrients along with the calories, which is why they suit a weight gain diet. They also keep well, so you can carry them to work or college.
Why Some Foods Are High in Calories
The IFCT works out energy with Atwater factors, which count 4 kcal for each gram of protein, 9 kcal for each gram of fat, and 4 kcal for each gram of available carbohydrate. Fat carries more than twice the energy of protein or carbohydrate, so foods rich in fat, such as nuts, paneer, and ghee, give the most calories per bite, along with protein and other nutrients. Eating more calories in a day can feel like a chore, and calorie-dense snacks make gaining weight feel easier. Water works the other way. Foods that are high in water look big on a plate but give less energy. Fresh fruit holds a lot of water, while dried fruits, nuts, and grains hold little. That is the idea behind calorie density, and behind calorie-dense foods for weight gain, and a good reason to read labels: a small portion with many calories is easier to finish than a big portion with few, which helps with weight gain if your appetite is small.
Nutrient-Dense Foods vs. Empty Calories
Calorie-dense foods and nutrient-dense foods are not the same thing. Calorie-dense foods give a lot of energy for their weight. Nutrient-dense foods give protein, dietary fiber, vitamins, and minerals along with that energy. Nuts, paneer, eggs, and milk are both, so they are the best nutrient-dense foods to build a high-calorie diet around. Many people who want to gain weight reach for packaged snacks, French fries, or onion rings, which are calorie-dense but give few other nutrients. Treat fried food as an occasional extra, and avoid consuming it every day just to hit a calorie goal.
Nutrient-dense foods bring essential nutrients such as protein, calcium, and iron, plus other essential nutrients such as vitamins. Key nutrients to look for are protein, calcium, iron, and fibre, and a daily diet built on them supports your overall health, not only the number on the scale. Foods sold for weight loss, such as low-fat or diet packs, are rarely the best choice here. Choose less sugar and fewer refined snacks where you can, and keep sweets for after a proper meal.
Nuts, Seeds and Peanut Butter for Weight Gain
A handful of nuts is a quick and healthy snack if you want to gain weight, and nuts pack plenty of calories into a small portion. Nuts are high in fat and protein, and they are calorie-dense, so a small handful goes a long way. Walnuts and almonds add calories and healthy fats to any meal, and nuts and seeds are among the best sources of healthy fats in a vegetarian diet. Walnuts have about 670 kcal and about 64 grams of fat per 100 g, almonds about 610 kcal, and cashews about 585 kcal. Peanuts give about 520 kcal and about 24 grams of protein, more than almonds or cashews in the IFCT. Nuts and seeds such as sesame are a great source of healthy fats and protein, and you can sprinkle them on dal, poha, or curd. Chia seeds and flax seeds can go into milk or oats, and chia seeds are a source of healthy fats and fibre. Roasted peanuts are a cheap snack you can carry anywhere, and they also provide dietary fiber.
A spoon on toast, a banana, or a shake adds calories fast, and whole grain bread with peanut butter is an easy breakfast. Any nut butter works, so pick one with nuts as the main ingredient. USDA FoodData Central lists smooth peanut butter at about 600 kcal, 22 g of protein, and 51 g of fat per 100 g. Brands differ in oil, sugar, and salt, so check the label of the jar you buy.
Dairy Products and Eggs for Weight Gain
Dairy products add calories for weight gain and protein, and they also suit a vegetarian diet. Milk can be taken warm or cold, and paneer can be eaten raw or lightly cooked. Milk and paneer are easy and healthy additions to any meal, and they are also a source of calcium. Paneer has about 305 kcal, about 19 grams of protein, and about 25 grams of fat per 100 g, so it is one of the best vegetarian high-calorie foods. Our guide on protein in paneer covers it in detail. Full-fat milk is a quick and healthy drink to start with, and full-fat milk is easy to find in any shop. Dairy products such as full-fat milk, curd, and paneer add calories without much effort, and dairy products milk and paneer also give calcium. In the IFCT, whole buffalo milk has about 105 kcal per 100 g and whole cow milk about 75 kcal, because buffalo milk has more fat (about 6.6 g against 4.5 g per 100 g). Add a glass of full-fat milk to your breakfast, or blend it with a banana for a banana milkshake. Full-fat milk also carries saturated fat, so keep portions sensible.
Eggs are a great source of protein and energy, and they help you build muscle mass when you train. Eggs, paneer, milk and peanuts are protein-rich foods that fit most meals. A boiled whole egg has about 150 kcal and about 13 grams of protein per 100 g, and the yolk carries most of the fat. Eggs give calories and protein together, plus fats and other nutrients. See how much protein is in one egg for more. If you have high cholesterol or heart disease, ask your doctor how much paneer, ghee, and eggs suit you.
Dried Fruits, Banana and Whole Grains for Healthy Weight Gain
Dried fruit is calorie-rich because drying removes water, and dried fruit keeps well in a bag. Dry dates have about 320 kcal per 100 g and black raisins about 305 kcal, against about 110 kcal for a ripe banana. Dates are a quick source of energy, and dried fruit such as dates and raisins makes a quick and healthy snack that mixes well into oats, milk, or laddoos. They also give plenty of calories for a busy day. Dried fruit is also sugary, so keep portions sensible, especially if you have diabetes.
Whole grains give complex carbohydrates that keep you full and supply energy through the day. A whole grain roti or whole grain porridge can be a good base for a calorie-rich meal. Choose complex carbohydrates such as ragi and atta at meals, and try whole grain bread with paneer. Raw whole wheat atta has about 320 kcal per 100 g, ragi about 320 kcal, and raw milled rice about 355 kcal. Those values are for raw flour and grain, and cooking adds water, so cooked rice or roti has fewer calories per 100 g. Brown rice, sweet potatoes, and cereal bars with few added sugars are other easy carbohydrate add-ons, and sweet potatoes make a filling snack when boiled or roasted. Brown rice with dal and a spoon of ghee makes a calorie-rich plate. Cereal bars are handy for travel if you pick ones with nuts and little added sugar. Add whole grains such as ragi and atta to your diet, and top rice or khichdi with a teaspoon of ghee for extra energy, a simple step for weight gain. Grains and pulses supply complex carbohydrates, and Indian meals already have plenty of them.
Ghee and Cooking Oils: Calories Within Limits
Ghee is a concentrated source of energy, and ghee and cooking oils are fats, so a teaspoon on rice, roti or dal adds a lot of energy without adding volume, and a small amount can be a big help when weight is slow to move. The IFCT does not list ghee, so we used USDA FoodData Central data for its closest match, anhydrous butter oil, at about 875 kcal and 99.5 g of fat per 100 g, which works out to about 88 kcal for every 10 g. For cooking oils, USDA FoodData Central lists mustard oil and peanut oil at about 884 kcal per 100 g, and coconut oil at about 892 kcal, so every 10 g of oil adds close to 90 kcal. Ghee and oil brands vary, so check the pack label for exact calories. The ICMR-NIN 2020 guidance says visible fat should be limited to 20 to 50 g a day, which is 4 to 10 teaspoons depending on your energy needs, and that not more than 27 g is recommended for a 2000 kcal diet. Use ghee as a booster within that range, not as the whole plan. These foods help you add calories within limits.
Oily Fish and Red Meats for Non-Vegetarians
If you eat fish, oily fish such as salmon, sardines, and mackerel give healthy fats along with protein, so add oily fish to a meal once or twice a week. Red meats such as mutton are calorie-rich and give protein and iron, but they also carry saturated fat, so keep red meats to moderate portions and ask your doctor if you have high cholesterol. Chicken is leaner: see protein in 100g chicken for the numbers, and our high-protein foods list for how much protein each option gives.
You can also fold calories into dishes you already cook. Toss a mixed salad with paneer, roasted peanuts, and a spoon of olive oil, or add a spoon of olive oil to vegetables. Olive oil, like ghee, is a fat, so a small amount goes a long way. Calorie-dense ingredients like these make a small plate count for more.
Dark Chocolate and Protein Shakes
Dark chocolate gives a calorie boost in small amounts, which helps when you are gaining weight. USDA FoodData Central lists dark chocolate with 70 to 85% cacao solids at about 598 kcal with 42.6 g of fat per 100 g. Calories vary by brand or cocoa content, so read labels and keep it as an occasional treat in your diet, since it contains sugar and fat. Dark chocolate with nuts is a classic snack. If you like the flavour, our dark chocolate isolate gives you the taste with protein.
Protein shakes are not a high-calorie food on their own. A 35 g serving of our whey protein isolate gives about 28 to 30 grams of protein and about 130 kcal, depending on flavour, per the product labels. To raise the calories, blend it with whole milk, a banana, peanut butter, or dates. If you eat little at meals, protein shakes made this way add both protein and energy without a full plate. Pair it with high-protein foods at meals for a balanced plate.
How Many Calories Do You Need for Weight Gain?
Your calorie requirements depend on age, body size, and activity, and a calorie goal helps you plan. The ICMR-NIN Recommended Dietary Allowances (2020) list these energy requirements for the Indian reference adult, 65 kg for men and 55 kg for women:
| Activity level | Men (65 kg) | Women (55 kg) |
|---|---|---|
| Sedentary work | 2110 kcal | 1660 kcal |
| Moderate work | 2710 kcal | 2130 kcal |
| Heavy work | 3470 kcal | 2720 kcal |
Your calorie requirements shift with physical activity, and even physical movement through the day, such as walking and household chores, adds to your daily calorie intake needs. These are the calories needed to keep your weight steady. A calorie surplus means eating a little above what you use, so to gain weight, your calorie intake has to sit above your needs. It is the reverse of a weight loss plan: to lose weight you eat fewer calories than you use, and to increase weight you eat more calories and extra calories on top of your usual meals. A doctor or dietitian can set the right amount for you. Gaining weight is not a race, and a steady surplus over weeks is easier to keep up than a sudden jump. Gaining weight healthily is slow, and it is also the kind that sticks. Check the calorie content on labels for packaged foods, and keep a rough note of the calorie content of your usual meals. Tracking your calories for a week can help you see where you stand with weight gain.
How to Add Calories Through the Day for Weight Gain
You do not need a new diet, only a few easy additions. You can raise your calorie intake in a few minutes a day with foods from any kitchen. Here is one example of how to add calories to gain weight, using the IFCT values above:
- 30 g almonds add about 183 kcal.
- 30 g peanuts add about 156 kcal.
- 50 g dry dates add about 160 kcal.
- 200 g whole buffalo milk adds about 215 kcal.
- 100 g paneer adds about 305 kcal.
Together, that is about 1,000 extra kcal across the day on top of your usual meals. It is only an example, so swap in the foods you like.
- Eat more often. Three meals and two or three snacks keep calories and protein coming throughout the day. A small snack at the end of the day also counts.
- Add, do not replace. Put nuts in your oats, ghee on your roti, and paneer in your salad.
- Drink your calories. One cup of whole milk, lassi, or a shake is easier than a big plate if you feel full quickly.
- Keep it balanced. Aim for a balanced plate, with protein, whole grains, and vegetables first, then top up with extras. Fried snacks and sweets add a lot of calories but little else, so they are not the best way to gain weight.
- Stay active. Keep your physical activity regular, since your needs rise with it.
- Check your weight. Weigh yourself once a week to see how your diet is working.
- Add strength training. Muscle building needs training, protein intake, and rest. Resistance training supports muscle growth, and without it, extra calories can end up as fat instead of muscle mass. If muscle gain is your goal, aim for high protein foods at every meal.
Our guide on how much protein you really need shows how to set a protein target, and our realistic guide to a high-protein diet has meal ideas. The WHO classifies an adult body mass index (BMI) below 18.5 as underweight. If you are underweight, have lost weight without trying, or have a medical condition such as diabetes, high cholesterol, or kidney disease, ask your doctor or dietitian before you change your diet.
For a full week of meals built around a calorie surplus, see our weight gain diet plan for Indians.
Frequently Asked Questions
What are the best high-calorie foods for weight gain?
Nuts, seeds, dry coconut, peanuts, and paneer are among the best high-calorie foods in the Indian Food Composition Tables, with about 670 kcal per 100 g for walnuts, about 610 for almonds, and about 305 for paneer. Add milk, eggs, dates, and whole grains for a balanced plate and a source of other nutrients.
What foods are highest in calories?
Among whole foods in the IFCT 2017, walnuts have about 670 kcal per 100 g, dry coconut about 625, and almonds about 610. Ghee and cooking oils are also very calorie-rich, because fat gives more energy per gram than protein or carbohydrate.
Which vegetarian food contains high calories?
Nuts, peanuts, seeds, dry coconut, paneer, whole milk, dates, and raisins are all vegetarian and calorie-rich. Paneer gives about 305 kcal and about 19 grams of protein per 100 g.
Can you gain weight as a vegetarian?
Yes. Many high-calorie foods in an Indian kitchen are vegetarian, including nuts, paneer, whole milk, dates, ghee, and whole grains. Add them to meals you already eat and spread them throughout the day.
What fruit is the highest in calories?
Among fruits in the IFCT, dried fruits such as dates (about 320 kcal per 100 g) and raisins (about 305 kcal) are far more calorie-rich than fresh fruit, because drying removes water. A ripe banana gives about 110 kcal per 100 g.
How can I get 3000 calories per day?
For a 65 kg reference man, ICMR-NIN lists 2710 kcal a day for moderate work and 3470 kcal for heavy work, so 3000 kcal sits in between. Eat three full meals plus two or three snacks, and add nuts, paneer, milk, and ghee. A doctor or dietitian can set a target that suits you.
How can I eat 5000 calories in a day?
That is well above the ICMR-NIN requirement even for heavy work, so it is not a sensible target for most people. If a doctor or dietitian has asked you to eat that much, they can plan it with you.
Can you eat 10,000 calories in one day?
It is far above the ICMR-NIN requirement for every activity level in the 2020 tables, and it is not a safe or useful way to gain weight. Healthy weight gain comes from a steady surplus over weeks, not one huge day.
How to gain 5 kg weight in 1 month or quickly?
There is no safe fixed rate that fits everyone, so we do not promise one. Gradual gain is easier to keep and easier on your health. People who are underweight, or have lost weight without trying, should speak to a doctor or dietitian first.
What food has the most calories to gain weight?
Walnuts top IFCT values at about 670 kcal per 100 g, followed by dry coconut at about 625 and almonds at about 610. For a food you can eat in bigger portions, paneer gives about 305 kcal and whole buffalo milk about 105 kcal per 100 g.
How can a skinny person gain weight?
A skinny person can gain weight by eating more energy than they use, regularly and over time. Add high calorie foods to your usual meals, eat more often, and pair your diet with strength training so the weight you gain is not only fat. Anyone who has always struggled to gain, or who wants to lose weight unintentionally, should ask a doctor whether anything else is going on.
How can I gain weight without sugar?
Lean on foods that are calorie rich but not sweet: nuts, paneer, whole milk, eggs, ghee, and whole grains. Dates and raisins are natural sugars, so keep them for when you need them.
Do protein shakes help with weight gain?
A shake is an easy way to add protein and calories without more cooking. Our isolate gives about 28 to 30 g of protein and about 130 kcal per 35 g serving, depending on flavour, so blend it with milk, banana or nuts if you want more calories. It adds protein and lifts your calorie intake.
The Bottom Line
High-calorie foods for weight gain are easy to find in an Indian kitchen: nuts, peanuts, seeds, dry coconut, paneer, whole milk, eggs, dates, and ghee. Add them to the meals you already eat, eat more often, and keep your plate balanced, so your weight gain is steady and healthy.
This article is for general information and is not medical advice. Values are from the IFCT 2017, the ICMR-NIN Recommended Dietary Allowances (2020), USDA FoodData Central (SR Legacy), and Func. Lab product labels, and may differ by brand and preparation.

