Season the shrimp: Pat the shrimp dry with paper towels. Toss with the olive oil, salt, pepper, and smoked paprika until evenly coated.
Cook the shrimp: Heat a large deep skillet over medium-high heat. Add the shrimp in a single layer and cook for about 1 to 2 minutes per side, just until they begin to turn pink. They do not need to be fully cooked. Transfer to a plate and set aside.
Build the base: Reduce the heat to medium. Add the butter and olive oil to the same skillet. Once the butter has melted, stir in the garlic and red pepper flakes and cook for about 30 seconds, just until fragrant.
Toast the orzo: Add the orzo and cook, stirring frequently, for 1 to 2 minutes until lightly toasted. This adds extra flavor and helps the orzo maintain its texture.
Cook the orzo: Pour in the broth, scraping up any browned bits from the bottom of the skillet. Bring to a gentle boil, then reduce to a simmer. Cook for about 8 minutes, stirring occasionally.
Add the vegetables: Stir in the asparagus and tomatoes. Continue cooking for 4 to 5 minutes, stirring occasionally, until the orzo is tender, the asparagus is crisp-tender, and the tomatoes have softened slightly.
Finish the sauce: Remove the skillet from the heat. Stir in the Parmesan cheese until melted and creamy. Add the lemon juice, lemon zest, half of the parsley, and half of the basil.
Finish the shrimp: Return the shrimp and any accumulated juices to the skillet. Stir gently and cook for 1 to 2 minutes, just until the shrimp are cooked through.
Serve: Sprinkle with the remaining parsley and basil. Serve immediately with additional Parmesan and lemon wedges, if desired.