Prep the beef: Trim visible fat and cut the chuck into even cubes. Pat dry and season all over with salt and pepper.
Dry meat sears better and tastes richer.
Sear for flavor (optional but worth it): Heat olive oil in a skillet over medium-high. Brown the beef in batches, 2–3 minutes per side. Transfer to the crockpot as each batch finishes.
Build the base: Add onion and garlic to the hot skillet for 1–2 minutes to pick up the browned bits.
Stir in tomato paste for 30 seconds, then splash in a little broth to loosen. Pour everything into the crockpot.
Add the vegetables: Place carrots, celery, potatoes, bell pepper, and mushrooms into the crockpot. Keep pieces bite-sized and uniform so they cook evenly.
Season and pour: Add diced tomatoes, remaining beef broth, Worcestershire, thyme, rosemary, smoked paprika, and bay leaves.
Stir gently to combine.
Set and cook: Cover and cook on Low for 7–8 hours or High for 4–5 hours, until the beef is fork-tender and the potatoes are soft.
Add the beans: About 30 minutes before serving, stir in the drained cannellini beans. They warm through and keep their texture.
Thicken if you like: For a heartier broth, whisk the cornstarch with cold water and stir into the stew. Cook on High for 15–20 minutes until slightly thickened.
Final seasoning: Remove bay leaves.
Taste and adjust with salt and pepper. A squeeze of lemon or a splash of vinegar can brighten flavors.
Garnish and serve: Ladle into bowls and top with chopped parsley. Serve with crusty bread or over cauliflower mash if you want to keep carbs lower.