To make the marinara: Heat the oil in a Dutch oven over medium heat. Stir in the onion and cook, stirring occasionally, until translucent, about 4 minutes. Stir in the garlic and cook until it gives off its aroma, about 1 minute. Add both cans of tomatoes and their juices, and bring to a boil over high heat. Reduce the heat to medium-low and simmer, uncovered and stirring occasionally, until reduced by about one-quarter, about 1 hour. Stir in the balsamic vinegar and sugar, and season to taste with salt. (The sauce can be cooled, covered, and refrigerated for up to 2 days. Reheat to simmering in the Dutch oven.)
Heat 2 tablespoons of the oil in a Dutch oven over medium heat. Add the chouriço and cook, stirring occasionally, until browned, about 5 minutes. Using a slotted spoon, transfer the sausage to paper towels, leaving the oil in the pot. Add the onion and bell pepper to the pot and cook, stirring occasionally, until softened, about 4 minutes.
Meanwhile, heat the remaining 1 tablespoon oil in a large skillet over medium-high heat. Add the beef and cook, stirring occasionally and breaking up the meat with the side of the spoon, until browned, about 8 minutes. Drain off the excess oil.
Add the chouriço and the beef to the Dutch oven, along with the marinara sauce, water and basil, and stir well. Bring to a simmer and reduce the heat to low. Simmer, uncovered, until the sauce has thickened and the vegetables are tender, about 45 minutes. During the last few minutes, stir in the parsley. Season to taste with salt and pepper.
Divide the meat mixture among the rolls and serve immediately with plenty of napkins.