The best approach is to organize everything in simple stations: one food table, another for drinks, and leave an open space for playing around. That way you're not running back and forth the whole time and the kids have fun without trashing the entire house.
Food is easier than it seems. Make stuff a few days ahead: cake (or order from a good bakery, it's cheaper than catering), a lasagna or pasta that you freeze, some snacks to munch on during the party. Cut fruit, juice in a big jug, soda. Nothing complicated on the menu, because you want to have fun too, you know. For drinks, just put everything on a table, that way the kids can grab what they want without asking.
The secret to keeping it from turning into chaos is setting a time limit (like 2 hours, 2 and a half hours) and let people know when they show up. Leave toys and games organized in a corner so they can entertain themselves while you keep an eye on things. Some video games, good music, foam balls, that kind of simple stuff that doesn't cost much works great. After food, bring out the cake and you're done. The kids enjoy playing way more than eating anyway, so don't stress yourself trying to do something fancy. Your friends will appreciate it because it's relaxed and genuine.