No, you fly to Cuzco, unless you want to waste two entire days on a bus. From Cuzco, you take bus and/or train to the sacred valley, and a train to Machu Picchu.
The airlines to Cuzco are TACA and LAN. It's much easier for non-residents of Peru to get good fares on TACA. LAN only offers their good prices to residents of Peru. You should be able to get an airfare of around $150 round trip on TACA. Peruvians also can get this fare on LAN, but non residents are more likely to see fares on LAN in the $350-420 range.
Programs: Priority Club, TAM Fidelidade, BAEC, Marriott Rewards
If you go to Lan.com and select Peru as your country, you'll see the cheaper prices. I don't think they will check if you are Peruvian resident, as when in Peru I bought tickets at the cheaper prices from LAN at the airport, clearly they knew I was a foreigner. YMMV
There are a lot of nice beaches south of Lima, that are worth visiting for a day or two. Weather in March is excellent for sunning and swimming, but take sunscreen. Playa Santa Marķa is particularly nice, also the beaches of Asia about 100 km south of Lima, but access is a lot easier there if you go as the guest of someone who owns a house there.
Good seafood lunch restaurants: La Mar as mentioned above, Pescados Capitales (on Av. La Mar, same street as La Mar), Los Cavenecia, Francesco, and the chains Segundo Muelle and Punta Sal. Good restaurants for dinner: Astrid y Gaston, La Gloria, Antica Pizzeria.
It is worth seeing the center of Lima although you need to be careful there.
If you want good mountain scenery go to Huaraz for a couple of days. No air service but you can get there by rental vehicle (4X4 recommended) or bus. Warning: March is rainy in the mountains (this goes for Cuzco as well). Huaraz is nothing special as a city but the Cordillera Blanca is spectacular. Also recommended cities are Trujillo (500 km north of Lima) and Arequipa (1,000 km south).