Sear the beef: Season the beef cubes with salt and pepper. Heat the olive oil in a large pot or Dutch oven over medium-high heat. Add the beef cubes in batches and sear on all sides until browned. Remove the beef from the pot and set aside.
Sauté vegetables: Add the onion and bell peppers to the pot and cook for 5-7 minutes, until softened. Add the minced garlic and cook for 1 minute more, until fragrant.
Add sauce and spices: Stir in the crushed tomatoes, tomato sauce, beef broth, water, bay leaves, oregano, cumin, chili powder, cayenne pepper (if using), salt, and pepper. Bring to a simmer.
Return beef to pot: Add the seared beef back to the pot. Reduce heat to low, cover, and simmer for 2-3 hours, or until the beef is very tender.
Add potatoes and carrots: Add the cubed potatoes and chopped carrots to the stew. Continue to simmer, covered, for another 30-45 minutes, or until the vegetables are tender.
Add peas (optional): Stir in the frozen peas during the last 15 minutes of cooking time.
Taste and adjust: Taste the stew and adjust the seasonings as needed.
Serve: Remove the bay leaves. Serve the carne guisada hot, garnished with chopped cilantro. It's delicious served with rice, tortillas, or crusty bread.