Rather than using color as a guide when pairing wine with food, a basic rule of thumb for me is to match the weight of the wine to the heaviness/lightness of the dish I'm serving. When I say "weight," I'm referring to body. And most of the time I stick with drier wines.
For instance, with beef or game, I'll typically serve a hearty, full-bodied red like Cabernet Sauvignon or Syrah. Either of these wines will stand up to the strong flavors of the meat.
Just a step down on the heaviness scale, you have foods like barbecue ribs or sausages. Zinfandel (aka Primitivo), Tempranillo, and Cab Franc are great with these.
For somewhat lighter fare, such as chicken, pork, or duck I prefer lighter wines such as Pinot Noir, Barbera, Grenache, or Chardonnay (which is usually a heavier bodied white).
For delicately flavored food, including fish or cheese dishes, I usually try to stick to something on the lighter side, such as Sauvignon Blanc or Pinot Gris. Even sparking wine pairs well.
These rules work fairly well for about 75% of the foods I eat.
Some foods will throw these rules for a loop, though. For example, Asian foods have a tendency to be lighter, but often have strong flavors from the spices used. With these types of foods, I've found slightly sweeter wines have a tendency to pair better. Riesling or Moscato/Muscat with Asian foods is often a safe bet.
And with Indian food, I'll almost always reach for a beer over wine. It's a match made in Heaven.