Season beef cubes with salt and pepper. Heat 2 tablespoons olive oil in a large pot over medium-high heat and brown beef on all sides, working in batches. Remove and set aside.
Add remaining oil and sauté onion until translucent, about 4 minutes. Add garlic and cook for 1 minute until fragrant.
Stir in crushed tomatoes, diced tomatoes, beef broth, oregano, and red pepper flakes. Return beef to the pot and bring to a boil.
Reduce heat to low, cover, and simmer for 1 hour, stirring occasionally.
Add carrots and potatoes, cover, and continue cooking for 45 minutes until vegetables are tender and beef is very tender.
Stir in balsamic vinegar and fresh basil during the last 5 minutes of cooking. Adjust seasoning with salt and pepper.
Serve hot with a sprinkle of Parmesan cheese and extra fresh basil on top.