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 3/4 cup cooking water, then drain.
Meanwhile, melt the butter in a large skillet over medium-high heat. Add the onion, carrots, garlic, 1/4 teaspoon salt and a few grinds of pepper. Cook, stirring occasionally, until softened, 6 to 8 minutes. Add the ground beef, 1/4 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 1/2 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.