In a large, heavy pot, heat the olive oil over medium-low heat. Add the pancetta and cook until the fat is rendered, about 5 minutes. Increase the heat to medium, add the onion, carrot and celery and cook, stirring occasionally, until softened, about 8 minutes. Stir in the garlic and cook until fragrant, about 1 minute. Increase the heat to medium-high, add the beef and cook, breaking it up, until no longer pink, about 8 minutes. Stir in the wine and cook until the liquid is cooked off, about 5 minutes.
Stir in the tomato puree and 1 cup water; season with salt and bring to a simmer. Partially cover and cook over low heat, stirring occasionally for the last 30 minutes, until thickened, about 2 hours. Season with salt and pepper.