- Bring large pot of lightly salted water to a boil.
- Add pasta; stir to prevent sticking.
- Cook pasta until just tender according to package directions, about 10 minutes.
- Drain well.
- Meanwhile, in large skillet, heat oil over medium heat.
- Add shallots and cook, stirring occasionally, until softened, 6 to 7 minutes.
- Stir in tomato sauce and half-and-half, increase heat to high and bring to a boil.
- Add asparagus and tarragon and reduce heat to low.
- Partially cover and cook until asparagus are tender and sauce is slightly thickened, 10 to 12 minutes.
- Add pasta to asparagus mixture along with salt and pepper.
- Toss until well coated.
- Serve hot.