Cook pasta in salted water until al dente. Preheat broiler to high.
Meanwhile, heat a deep skillet over medium high heat with extra-virgin olive oil. When oil ripples or smokes, crumble beef and brown, 5 to 6 minutes. Season the meat with chili powder, salt and pepper. When meat has browned, add onions, peppers and garlic. Cook vegetables until soft, 6 to 7 minutes. Add stock and scrape up pan drippings. Stir in crushed tomatoes, simmer sauce 10 minutes and fold in basil. Drain pasta and add to sauce. Toss to combine and transfer to a flameproof casserole dish. Cover with cheese and brown under broiler 3 to 4 minutes.