← Back to Blog

Creamy Beef and Tomato Noodle Soup — Cook Once, Eat for Days

Week two of classes and the rhythm is starting to hold. Not solidly — more like a heartbeat that skips every fourth beat — but it's there. I go to class. I take notes. I eat. I study. I sleep for five or six hours, which is more than I was getting in October and less than Dr. Perkins says I need, but I'll take functional over optimal right now. Functional is the whole goal.

Assessment and Evaluation is going to be my hardest class. It's all data — standardized testing, progress monitoring, the math of measuring whether a kid is learning. I am not a math person. I am a feelings person who chose a profession that requires both, and the data side makes my brain feel like it's been put through a cheese grater. But I sat in the library for three hours on Saturday with my textbook and a highlighter and I made it through chapter two, and chapter two is more than I could have done in November, when I couldn't make it through a paragraph without Jess's face appearing in the margins.

Mom calls every morning at seven fifteen. She says, "Just checking in," which means, "I need to hear your voice to confirm you're alive." I let her. I understand. When you've watched your daughter stop eating and stop moving and stop being a person for two weeks, you earn the right to call at seven fifteen for the rest of her life. I pick up every time. I say, "I'm fine, Mom." She says, "Good." We hang up. The whole call takes forty-five seconds. It costs nothing and means everything.

I made a big batch of pasta e fagioli on Sunday — Italian bean soup, essentially, but with pasta, which makes it a meal instead of a side. Ditalini from the clearance shelf at Jewel, a can of cannellini beans, a can of diced tomatoes, garlic, onion, a cube of chicken bouillon because broth is expensive and bouillon is twelve cents. I added a handful of spinach at the end because I am twenty-one and my mother's voice in my head says "eat a vegetable" with the same authority the Vatican uses for papal decrees. The pot made six servings. I ate two. Priya ate one and said, "This is amazing," with the genuine surprise of a pre-med student who survives on protein bars. I put the rest in containers in the mini fridge. Tuesday's lunch. Wednesday's dinner. That's the whole system: cook once, eat for days, spend almost nothing, stay upright. The staying upright is the hard part. The soup is easy.

The pasta e fagioli taught me something I keep coming back to: a pot of soup is the most honest kindness you can give yourself when the world feels like it costs too much. So when I wanted something a little heartier—something that felt less like surviving and more like actually eating—I landed on this creamy beef and tomato noodle soup, which has that same cook-once, eat-for-days logic but with ground beef making it feel like a proper meal. It’s the kind of thing Priya would take one bite of and say “wait, you made this?” and I would say yes, and it would cost maybe eight dollars for six servings, and that would be enough. Here’s how I make it.

Creamy Beef and Tomato Noodle Soup

Prep Time: 10 minutes | Cook Time: 30 minutes | Total Time: 40 minutes | Servings: 6

Ingredients

  • 1/2 lb lean ground beef
  • 1 small yellow onion, diced
  • 3 cloves garlic, minced
  • 1 can (14.5 oz) diced tomatoes, undrained
  • 1 can (15 oz) cannellini beans, drained and rinsed
  • 2 cups chicken broth (or 2 cups water plus 2 bouillon cubes)
  • 1 cup water
  • 1 cup ditalini or small elbow pasta, dry
  • 1/2 cup heavy cream or whole milk
  • 2 large handfuls fresh spinach
  • 1 tsp Italian seasoning
  • 1/2 tsp smoked paprika
  • Salt and black pepper to taste
  • 1 tbsp olive oil
  • Grated Parmesan for serving (optional)

Instructions

  1. Brown the beef. Heat olive oil in a large pot over medium-high heat. Add ground beef and cook, breaking it apart, until no pink remains, about 5–6 minutes. Drain excess fat if needed.
  2. Soften the aromatics. Reduce heat to medium. Add diced onion to the pot and cook 3–4 minutes until softened. Add garlic and cook 1 minute more until fragrant.
  3. Build the base. Stir in the diced tomatoes (with liquid), cannellini beans, broth, and water. Add Italian seasoning, smoked paprika, and a generous pinch of salt and pepper. Bring to a boil.
  4. Cook the pasta. Once boiling, add the dry pasta. Reduce heat to a steady simmer and cook uncovered, stirring occasionally, until pasta is just tender, about 9–11 minutes. The soup will thicken as the pasta absorbs liquid.
  5. Add cream and greens. Stir in the cream or milk. Add spinach by the handful and stir until wilted, about 1–2 minutes. Taste and adjust salt and pepper.
  6. Serve or store. Ladle into bowls and top with Parmesan if using. To batch-cook ahead, let cool fully before dividing into airtight containers. Refrigerates well for up to 4 days. The pasta will absorb more liquid as it sits; add a splash of water or broth when reheating.

Nutrition (per serving)

Calories: 310 | Protein: 18g | Fat: 11g | Carbs: 34g | Fiber: 5g | Sodium: 540mg

How Would You Spin It?

Put your own twist on this recipe — what would you add, remove, or swap?