Heat the olive oil in a large skillet over medium-high heat. Once shimmering, add the diced onion and cook for 3-4 minutes until softened and translucent. Add the ground beef, breaking it apart with a wooden spoon as it cooks, until completely browned (about 8-10 minutes). Drain the excess grease by tilting the pan and using a spoon to push the meat to the side, then carefully pour off the fat. Stir in the minced garlic and cook for 1 minute until fragrant. This browning step is crucial for building deep, savory flavor in the broth.
While the beef browns, peel and cut the potatoes into 1-inch cubes, slice the carrots into 1/2-inch rounds, and slice the celery into 1/4-inch pieces. Having all vegetables prepped and ready ensures smooth assembly into the crockpot and prevents any hold-up once the meat is ready.
Transfer the prepped vegetables to the crockpot and add the fire-roasted tomatoes, tomato sauce, beef broth, Worcestershire sauce, Italian seasoning, onion powder, salt, pepper, red pepper flakes, smoked paprika, and bay leaves. Stir well to combine all seasonings evenly throughout the liquid. Pour the browned beef and any remaining pan juices from Step 1 into the crockpot and stir to incorporate everything thoroughly.
Cover the crockpot and cook on low for 6-8 hours or on high for 3-5 hours, until the potatoes and carrots are completely tender when pierced with a fork. I prefer cooking on low because it allows the flavors to meld beautifully without the vegetables breaking down into mush.
About 15-20 minutes before serving, stir in the tomato paste until fully dissolved and incorporated into the broth—this thickens the soup and adds a rich, concentrated tomato flavor. Add the corn and peas, and stir well. Continue cooking uncovered until the vegetables are heated through. Remove the bay leaves before serving.