The captain wanted to keep the 207-foot (63-meter) ship from sinking in the Intracoastal Waterway, the Coast Guard said. It wasn't clear why it was taking on water; no injuries were reported.
Two 41-foot (12.5-meter) Coast Guard boats moved the ship's passengers and crew to a ferry landing about 2 miles (3.22 kilometers) away from the rural area off Virginia Beach, Petty Officer Christopher Evanson said.
Passengers ate breakfast as they awaited rescue, he said.
The cruise ship was lodged in mud about 9 feet (2.74 meters) below the water's surface and was stable; the Coast Guard lowered pumps to help remove the water in the ship. The ship was only about 100 feet (30.5 meters) from shore, but the surrounding area is a wooded swamp, Evanson said.
The boat, The Spirit of Nantucket, was on a 10-day cruise from Alexandria, Virginia, to Charleston, South Carolina, Evanson said.
It is owned by Cruise West, a small cruise line based in Seattle. The damage was being assessed, the company said in a statement.
Cruise West made arrangements to take the passengers to a hotel.
The boat can accommodate 102 guests and has an 8-foot (2.44-meter) draft, making it suited for cruising shallow waterways, according to Cruise West's Web site.