The very first rule of pairing beer and food is that anything goes. Seriously! If you're in the mood for a stout but you also want to grill up some fish, there are no rules that say you can't do this. In all my years of drinking beer, I haven't once come across a pairing that out-and-out didn't work. Some pairings are better than others, to be sure, but your own taste is the final judge.
In general think about pairing the intensity of the beer with the intensity of the food - lighter beers like pale ales and pilsners with appetizers and salads; heavier beers like stouts with hearty, rich main meals. Think about the main flavors in the beer (malty, hoppy, nutty, citrus, fruity, etc.) and pair them with the main flavors in your meal (roasted, spicy, savory, buttery, sweet, etc.).
If you're at a loss, the classic beer styles from a particular region or country can always be paired with the classic dishes from that same country. For instance, lagers go very well with hearty German food like sausages and cabbage rolls. British stouts are perfect with any pub food. And Belgian beers can handle just about anything!
There are some foods that work particularly well with certain common styles of beer:
• Pale Ales - Salads, light appetizers, fish and seafood
• India Pale Ales (IPAs) - IPAs can stand up to a little more richness and flavor. They can go well with things like pulled pork, pizza, and fried chicken, as well as lighter salads and seafood dishes. And if you like heat, try an IPA with spicy food - the hoppiness really pumps up the spice quotient!
• Hefeweizens and Wheat Beers - Fruit dishes, dinner salads, grain salads, and desserts made with warm spices (cloves, cinnamon, nutmeg).
• Amber Ales - Ambers are a good middle-of-the-road beer and go well with just about anything: burgers, grilled cheese, roast chicken, soups and stews
• Stouts and Porters - Barbecue, stews, braised dishes - any kind of meat dish, really. Also rich desserts with chocolate and espresso flavors.