Heat olive oil in a large pot or Dutch oven over medium-high heat. Add ground beef and cook, breaking it up with a spoon, until browned. Drain off any excess grease.
Add onion, garlic, carrots, and celery to the pot. Cook until softened, about 5-7 minutes.
Pour in red wine and cook until it has mostly evaporated, about 2-3 minutes.
Stir in crushed tomatoes, tomato paste, oregano, basil, salt, and pepper. Bring to a simmer.
Reduce heat to low, cover, and simmer for at least 1 hour, or up to 2 hours, stirring occasionally.
Notes
Serve over your favorite pasta, such as spaghetti or tagliatelle. Garnish with fresh Parmesan cheese.