Bring a large pot of salted water to a boil. Add the pasta and cook as the label directs for al dente, about 12 minutes. Reserve ¾ cup cooking water, then drain.
Meanwhile, melt the butter in a large skillet over medium-high heat. Add the onion, carrots, garlic, ¼ teaspoon salt and a few grinds of pepper. Cook, stirring occasionally, until softened, 6 to 8 minutes.
Add the ground beef, ¼ teaspoon salt and a few grinds of pepper and cook, breaking up the meat, until no longer pink, about 4 minutes.
Add the tomato paste and cook until evenly combined, 1 minute.
Add the wine and simmer until almost completely dry, 1 to 2 minutes.
Add ½ cup of the reserved cooking water, the tomatoes and half the basil. Bring to a boil, then reduce the heat to a simmer and cook until the tomatoes start to burst and the mixture is saucy, 4 to 7 minutes.
Add the cheese to the sauce, then add the rigatoni; season with salt and pepper and toss, adding more cooking water as needed to loosen.
Divide among bowls and top with the remaining basil and more parmesan.
