Being underweight is defined as having body mass index (BMI) below 18.5. This is estimated to be less than the body mass needed to sustain optimal health. You need to eat more calories than your body burns to gain weight. Aim for 300-500 calories per day above your maintenance level for slow weight gain or 700-1000 calories if you want to gain weight fast. Eat plenty of protein, to gain weight eat at least three meals per day and make sure to include plenty of fat, carbs and protein. You can add sauces, spices and condiments to your foods to make it easier to eat more. Base your diet on energy dense foods as much as possible. Last of all get quality sleep and don't smoke.