The protest showed some of the domestic pressures the Vietnamese government faces in its dealing with its large neighbour.
Street marches and open defiance of the government are rare in Vietnam, a tightly controlled one-party state.
Shouting "Down with Chinese aggression" about 150 people rallied around a lake in central Hanoi before police squads moved in to detain ringleaders, pushing them into buses. Some scuffles broke out.
Vietnam and China both claim part or all of the South China Sea, as do some of the other states ringing the potentially oil-rich sea.