MD 304 begins at the intersection of Corsica Neck Road and Spider Web Road on the Corsica Neck peninsula west of Centreville.
The highway heads east as two-lane undivided Corsica Neck Road past the historic home Lexon and crosses Earle Creek.
MD 304 crosses the Old Mill Stream branch of the Corsica River to enter the town of Centreville, where most of the highway is municipally maintained.
At the east end of the bridge, the route passes between the historic Captain's Houses and the Capt.
John H. Ozmon Store in the former wharf area of Centreville.
MD 304 follows Chesterfield Avenue through the Centreville Historic District.
At the west end of downtown, the eastbound route continues seamlessly onto Water Street.
While on the one-way eastbound street to the south of the Queen Anne's County Courthouse, the highway intersects MD 213, which follows the one-way pair of Liberty Street southbound and Commerce Street northbound.
Westbound MD 304 traffic follows Broadway one block to the north to head toward the west end of town.

East of Commerce Street, MD 304 becomes bidirectional again.
The highway's name changes to Railroad Avenue at Tilghman Avenue and to Ruthsburg Road at Kidwell Avenue, where state maintenance resumes.
MD 304 leaves the town of Centreville as it passes southwest of Queen Anne's County High School.
The highway continues through a double-roundabout partial cloverleaf interchange with US 301 (Blue Star Memorial Highway).
MD 304 heads southeast toward Ruthsburg, where the highway meets the northern end of MD 481 (Damsontown Road).
The route continues east past the historic Thomas House and Hawkins Pharsalia on either side of the road's bridge across German Branch.
MD 304 meets the eastern end of MD 405 (Price Station Road) opposite the historic home Stratton.
The highway crosses Mason Branch of Tuckahoe Creek into Caroline County, where it follows Bridgetown Road to its eastern terminus at MD 312 (Oakland Road) in Bridgetown.
MD 304 begins at the intersection of Corsica Neck Road and Spider Web Road on the Corsica Neck peninsula west of Centreville. The highway heads east as two-lane undivided Corsica Neck Road past the historic home Lexon and crosses Earle Creek. MD 304 crosses the Old Mill Stream branch of the Corsica River to enter the town of Centreville, where most of the highway is municipally maintained. At the east end of the bridge, the route passes between the historic Captain's Houses and the Capt. John H. Ozmon Store in the former wharf area of Centreville. MD 304 follows Chesterfield Avenue through the Centreville Historic District. At the west end of downtown, the eastbound route continues seamlessly onto Water Street. While on the one-way eastbound street to the south of the Queen Anne's County Courthouse, the highway intersects MD 213, which follows the one-way pair of Liberty Street southbound and Commerce Street northbound. Westbound MD 304 traffic follows Broadway one block to the north to head toward the west end of town.
East of Commerce Street, MD 304 becomes bidirectional again. The highway's name changes to Railroad Avenue at Tilghman Avenue and to Ruthsburg Road at Kidwell Avenue, where state maintenance resumes. MD 304 leaves the town of Centreville as it passes southwest of Queen Anne's County High School. The highway continues through a double-roundabout partial cloverleaf interchange with US 301 (Blue Star Memorial Highway). MD 304 heads southeast toward Ruthsburg, where the highway meets the northern end of MD 481 (Damsontown Road). The route continues east past the historic Thomas House and Hawkins Pharsalia on either side of the road's bridge across German Branch. MD 304 meets the eastern end of MD 405 (Price Station Road) opposite the historic home Stratton. The highway crosses Mason Branch of Tuckahoe Creek into Caroline County, where it follows Bridgetown Road to its eastern terminus at MD 312 (Oakland Road) in Bridgetown.
Maryland Route 304