Tofu Bulgur Meatballs
4 from 8 votes

These homemade, plant-based bulgur tofu meatballs are both healthful and delicious! Serve them with pasta, as a snack, or as an hors d’oeuvre.

Homemade vegan protein is served over spaghetti and red sauce, in a ceramic bowl. It rests on a white surface.

At this point, I’ll be writing from midway through my first week as a dietetic intern. In many ways, I spent the whole summer anticipating it; in other ways, the whole transition has snuck up on me.

One part of it that I’ve been well prepared for is getting back into a weekend batch meal prep routine. This was non-negotiable during my post-bacc and the first year of grad school, but I’ve gotten a lot more lax with it in the last few years, with flexible working hours and more time on my hands. Now’s the time to transition back into the groove of batch cooked grains and dressings and soups, along with simple, nutrient-dense dishes that are freezer friendly.

Before I went there, though, I wanted to create a few meals that felt fancy and festive. I did that last week, and this vegan spaghetti and meatball dish—featuring protein-rich tofu bulgur meatballs—was my favorite creation by far.

I’ve made vegan meatballs with lots of different ingredients, including beans, nuts, and quinoa, but I absolutely love what extra firm tofu does for their texture! The resulting meatballs hold their shape and crisp up perfectly, but they’ve got a pleasant lightness to them. They’re much less dense and dry than most of the bean or bean/nut/grain balls I’ve tried, which makes them especially good for piling over a hot plate of pasta.

Most of the tofu meatball recipes I’ve seen call for breadcrumbs. When I was testing these, I wondered if bulgur wheat might be similar enough in texture to work in the recipe. It’s one of my favorite grains, and it’s a little richer in protein and more nutritious than most breadcrumbs. I’m happy to say that it was a total success; I love the consistency of these balls, and the bulgur is in part to thank for it.

In the last few months I’ve had the pleasure of working with some of Nasoya’s products to create new-to-me tofu-based recipes. I’ve discovered tofu dumplings, among other products, but this time it was nice to create a meal with Nasoya’s extra firm tofu, which is already a staple food in my home.

I did discover the brand’s new twin pack, which allows you to use either ~7-8 or ~15 ounces of tofu at a time; usually when you open up an extra firm tofu pack, you’re then tasked with using the whole 15 ounces, which may or may not work for you if you’re cooking for one. It’s great to be able to adjust the quantity that gets opened, and even though I used all of the tofu this time around, I’m happy to have options.

I based the seasonings for the balls on the lentil keftede from Power Plates, which are one of my favorite components from the books: onion and garlic powder, nutritional yeast, salt. I also added oregano and rosemary, along with fresh parsley.

Much as I intended this to feel like a fancy supper—a date night recipe, so to speak—it’s actually quite easy to make. You don’t have to sauté any onion or other ingredients for the meatballs: you simply process them in the food processor, then roll and bake them. You can definitely use a store-bought marinara for the pasta, and a store-bought vegan parmesan of choice (if you’d like to DIY, I love my walnut herb parm here).

And, as nice as the meatballs are for a special occasion, they’d actually be a pretty great thing to meal prep. I can imagine serving them in a bowl, over veggies and a grain with marinara on top, as an appetizer for friends, or even packing a few of them up as a snack. Thanks to the tofu, they’d be both a savory and a protein-rich snack option on the go.

A zoomed in image of homemade vegan tofu meatballs.

Homemade vegan protein is served over spaghetti and red sauce, in a ceramic bowl. It rests on a white surface.
4 from 8 votes

Bulgur Tofu Meatballs

Author – Gena Hamshaw
Prep Time: 15 minutes
Cook Time: 45 minutes
Total Time: 1 hour
Yields: 6 servings


  • 3/4 cup dry bulgur wheat
  • 16 ounces extra firm tofu, pressed for at least 30 minutes
  • 3 tablespoons nutritional yeast
  • 3/4 teaspoon fine salt
  • 1/8-1/4 teaspoon to taste freshly ground black pepper
  • 1 tablespoon dried oregano
  • 2 teaspoons dried rosemary or thyme
  • 1 tablespoon red wine vinegar
  • 1/4 cup fresh parsley leaves
  • 2 teaspoons ground flax seed
  • Cooked pasta and marinara sauce of choice (for serving)
  • Cashew parmesan cheese (for serving)


  • Place the bulgur and 2 cups water into a medium sized saucepan and bring to a boil. Reduce the heat to low, cover, and simmer for 13-15 minutes, or until all of the water has been absorbed. Remove the bulgur from heat. Allow it to rest for a few minutes, fluff it with a fork, and then allow it to cool for 15 minutes.
  • Preheat your oven to 375F and line two baking sheets with parchment. You can spray the parchment with a vegetable oil spray to prevent the meatballs from sticking.
  • Add the tofu, along with the nutritional yeast, salt, pepper, oregano, rosemary, vinegar, and parsley, to a food processor fitted with the S blade. Process till smooth. Add the parsley and pulse to combine the herb evenly into the tofu mixture.
  • Transfer the cooked bulgur and tofu into a large mixing bowl, along with the ground flax. Mix well with your hands. Shape the mixture into balls about 1 1/2 inch in diameter; you should get about 30-34 meatballs from the mixture. Transfer the balls to the baking sheet and bake for 35-40 minutes, or until browning and crispy, flipping the balls once halfway through baking.
  • Serve the meatballs over your favorite pasta, along with marinara sauce, or however you like!


*Quinoa can be used in place of bulgur for a GF option.
A bowl of tofu bulgur meatballs has been smothered by tomato sauce and garnished with green basil leaves.

Can’t get over the texture of these meatballs! They’re destined to be a new favorite around here for sure. As I was making the recipe, I thought about how, at one point in time, tofu meatballs would have struck me as a totally offbeat notion, but I’ve come to see how versatile tofu is as a base ingredient for just about anything. When I tasted the tofu mixture before adding it to the bulgur, it occurred to me that I’ve never made a dip or spread with extra firm tofu, which is kind of crazy. And soon to be changed 🙂

As for the week itself, it’s an adjustment to be sure, but I’m already learning a lot, and I’ll have more reflections and thoughts to share by the time this weekend rolls around. Till then, wishing you a great week—possibly with a comfort food pasta supper thrown into the mix.


This post is sponsored by Nasoya. All opinions are my own, and I love this go-to brand of tofu and other creative soy products! Thanks for your support.

This post may contain affiliate links. If you use these links to buy something I may earn a commission. Visit my privacy policy to learn more.

Categories: Recipes, Vegan Basics, Pasta
Method: Oven, Stovetop
Ingredients: Tofu
Dietary Preferences: Gluten Free, No Oil, Tree Nut Free, Vegan
Recipe Features: Meal Prep

Leave a Comment

Star ratings help other readers to find my recipes online. If you loved this recipe, would you please consider giving it a star rating with your comment?

Thank you for your feedback. I'm grateful for your presence in this space!


Your email address will not be published. Required fields are marked *

Recipe Rating

  1. 4 stars
    I don’t know if it’s because I didn’t rinse the bulgur before cooking or if I overcooked the bulgur as they were very wet?, or maybe it’s because I used firm tofu (pressed for 45mins), but when I added them to tomato sauce they disintegrated. They tasted really good though, I just have to keep working on the texture. I also wonder why we don’t add the flax seed with the rest of the seasoning?

    • Hi Mary,

      I’m sure that the flax could be added earlier, but I’ve had good results adding it in that final mixing step. I’m sorry that your meatballs were so crumbly! They’re not meant to get overly submerged in sauce, as they do have a more delicate texture and are not firm like my tempeh meatballs. I can make that more clear in the post, for sure. But hopefully you’ll have a slightly firmer batch on your next try. Thank you for the feedback!


  2. 5 stars
    I just found this recipe and I’ve made it twice already. The second time I added some ground fennel seeds, crushed red pepper and crushed garlic. Great addition if you want to try it. Thanks!

  3. That looks pretty good, nice presentation! Another good oil-free recipe.

  4. I’om back to say these meatballs are the BOMB, as the kids used to say. 🙂 They were great, even though I disobeyed the ingredients list and used cooked buckwheat groats instead of quinoa. Also I did not want to get the food processor out of the cupboard, so I used a fork to smash and mix the tofu and other stuff. It was such great fun using my hands to get everything all mixed up. They are delicious! Thanks, Gena. I will make these again, and try with quinoa too. You really got that real meatball texture–crunchy but not too on the outside with a soft flavorful center. Bravo! xoxo ps half batch works great

  5. Gena, this photo of these on their bed of pasta is just so delectable and yummy! Makes me want to take one off the plate! These sound great. I love that you mix them up by hand–like my Mom used to do with actual meatballs and that you add fresh parsley–also what my Mom used to do. I was thinking up some gluten free alternatives to the bulgur as I read, since I am so going to make these. I like your suggestion of quinoa. I had thought of buckwheat groats, which I bought after not having them for a long while, and of course since I think there should be a version of everything with millet in it, I thought of that, too. We shall see what I experiment with first. Thanks! And happy first week! xoxo