Brian Headshot

Brian Kavanagh

Brian Kavanagh, also known as The Sophisticated Caveman, is a creative professional with a special place in his heart for food. After struggling with weight loss for years, he stopped counting calories and began to look at the ingredients in his food and where it was coming from. He believes that eating simple, clean, real food is universal. For more Whole30 recipes and meal ideas, check out his blog and follow him on Instagram.
By Author

Articles/Recipes


Whole30 image
  • w30pb
  • Appetizers and Snacks
  • Entrée

White Bean-Mushroom Meatballs with Pesto-Butternut Squash Noodles

Indulge in Whole30-approved goodness with White Bean-Mushroom Meatballs served on Pesto-Butternut Squash Noodles.
Whole30 image
  • w30pb

Plant-Based Whole30 Veggie Pie with Mashed Potatoes

Veggie Pie with Mashed Potatoes For the Filling2 tbsps extra-virgin olive oil1 (10-oz) package Abbot's Butcher Ground Beef1 cup sliced mushrooms½ cup chopped carrots½ cup chopped celery2 tbsps Whole30-compatible tomato paste2 tbsps Whole30-compatible Dijon mustard1 tbsp coconut aminos1 tsp chopped fresh rosemary1 tsp chopped fresh thyme½ tsp onion powder½ tsp garlic powder½ tsp coarse salt½ tsp Coarse black pepper1 cup Whole30-compatible vegetable broth1 tbsp arrowroot powderFor the Herbed Mashed Potatoes1½ lbs Yukon gold potatoes (,peeled, if desired, and halved)1½ tsps coarse salt2 tbsps olive oil¼ cup Whole30-compatible plant-based milk2 fresh sage leaves2 thyme sprigs⅓ cup Whole30-compatible plant-based yogurt or Whole30 Plant-Based Sour Cream ((see Tip))½ tsp Coarse black pepper1-2 tbsps chopped chives Make the FillingPreheat oven to 400°F.
Whole30 image
  • w30pb

Plant-Based Whole30 Spiced Sweet Potato Soup

Photo Credit: Brian Kavanagh Spiced Sweet Potato Soup: A Delicious Plant-Based Whole30 Soup Spiced Sweet Potato Soup 3 lbs garnet sweet potatoes (,peeled and coarsley chopped)1 small onion (,cut into wedges)2 tbsps olive oil1 tsp coarse salt1 tsp coarse black pepper1 (10-oz) package Abbot's Butcher Spanish smoked "chorizo" or "ground beef"½ one small apple (,seeded and coarsely chopped )1 piece (1-inch) fresh ginger (,peeled and chopped)3-4 cups Whole30-compatible vegetable broth¼ cup nutritional yeast2 tsps smoked paprika2 tsps ground cumin1 tsp ground cinnamon1 tsp coarse salt1 (6-oz) can Whole30-compatible coconut cream ((see Tip))½ cup roasted pepitas Preheat oven to 400°F.
Whole30 image
  • w30
  • Entrée
  • Salads

Creamy Lemon Dill Shrimp Salad

This creamy lemon dill shrimp salad is a light, flavorful Whole30 lunch recipe, the perfect dish to add to your meal prep routine.
Whole30 image
  • w30
  • Dips, Sauces and Dressings

Whole30 Lemon Tahini Dressing

This fresh, herby, tangy Whole30 Lemon Tahini dressing gets its creaminess from tahini, which is made from ground sesame seeds and has a subtle nutty flavor.
Whole30 image
  • w30
  • Dips, Sauces and Dressings
  • Salads

Easy Whole30 Italian Dressing

Making your own Whole30 salad dressing is a great way to save money and use simple ingredients you probably already have on hand, like olive oil, vinegar, and a handful of common dried herbs and spices.
Whole30 image
  • w30
  • Entrée
  • Salads

Citrus-Ginger Salmon Salad

By Brian Kavanagh of The Sophisticated Caveman Colorful, veggie packed, sweet, and kicky, this citrus-ginger salmon salad is the perfect dish to enjoy during your lunch hour at work.
Whole30 image
  • w30
  • Entrée

Bacon Ranch Kale and Potato Mash with Polish Sausage

This recipe is perfect for a winter night when you need something cozy, nutritious and filling.
Whole30 image
  • w30
  • Sides

Whole30 Crispy Brussels Sprouts

With simple ingredients and a few easy steps, you’ll have these Crispy Brussels Sprouts on your table in no time.
The Whole30® Program

We and selected third parties collect personal information as specified in the privacy policy and use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.

Use the “Accept” button to consent. Use the “Reject” button or close this notice to continue without accepting.