Dice the celery and carrots. Finely chop the onion. Heat olive oil in a pot over medium heat. Add the vegetables and fry for about 3 minutes, stirring occasionally, until softened but not browned.
Add the beef cut into cubes. Cook over medium heat for 5 minutes, stirring occasionally.
Increase the heat to high and pour in the red wine, stirring constantly. Cook for about 3-4 minutes until the wine has mostly evaporated.
Add enough warm water to cover the meat, or use vegetable broth if available.
Bring to a boil, then add the tomato puree. Reduce heat to low and simmer for at least 1 hour, stirring occasionally, until the meat is very tender. Season with salt and pepper to taste.