To gain muscle, you obviously need to be a caloric surplus. You don't need as much of a surplus to add size as people think. Many eat a larger surplus of calories, mainly, so that a quicker change in size can be viewed in the mirror.
I've found that this works for "clean bulking":
Maintenance Calories + 1/10 of Maintenance Calories per day.
@MarkKO hit the nail on the head with nutrient timing. John Meadows is indeed a pretty good source for learning the basics of nutrient timing. This is a bit different for everybody (trial and error will help you figure that out), but for myself I've notice that this works the best:
I work out in the afternoon...Higher fats in the morning (love me some eggs for this), meat and vegetables all other meals (chicken, steak, fish, broccoli, green beans, sugar snap peas, salads, asparagus, mushrooms), and carbs around and during workout (rice, oatmeal, cream of wheat, sweet potatoes, hbcd).
You can get plenty of calories eating cleanly (I've been doing it for years). You just need to eat more often.
You'll be hungry eating that way, but the metabolism works better (it needs energy, so it'll start going after your own fat stores for energy) carbs are only really used by the body for workout energy and for muscle building purposes (carbs are only consumed when immediately used by the body, meaning they won't be as likely to get stored as adipose).
Otherwise, hit the weight, man. Hit them hard and constantly.
Edit: Eating and training this way requires more patience for the results to be visually noticeable. I also noticed that it took a while for my scale weight to increase, but that's mainly because your body starts going through a recomposition period, rather than just increasing in size.