The vote in Spain's lower house of parliament formally denounces Franco's government, mandates that local governments fund efforts to unearth mass graves from the 1936-39 Civil War.
It also orders the removal of all Franco-era symbols from streets and buildings, and declares "illegitimate" summary military trials that led to the execution or imprisonment of thousands of the general's enemies.
The bill pays tribute to all victims of the war, however, including Roman Catholic clergy and others executed by militia loyal to the elected, leftist Republican government that Franco rose up against in 1936.
The legislation, known as the Law of Historical Memory, must still pass the senate, considered a formality, and be published in the government gazette before it becomes law.
This is expected in November.
Jose Luis Rodriguez Zapatero, the Spanish prime minister, whose own grandfather was among the tens of thousands of people executed by Franco's forces, had made the legislation a priority of his term in office and cobbled together an agreement between his ruling Socialists and several smaller parties.
The legislation passed despite the fierce objections of Zapatero's conservative opponents, who accused him of being driven by vengeance to rekindle national acrimony doused during Spain's transition to democracy.
The culmination was approval of a democratic constitution in 1978. The process featured an unspoken pact among parties to put the suffering of the war years behind them in the interest of rebuilding. No war crimes trials were held.
Angel Acebes, No 2 in the opposition Popular Party, said "Zapatero wants to divide Spaniards and turn them against each other".
But Maria Teresa Fernandez de la Vega, the deputy prime minister, chided the Popular Party for its stance, saying: "There isn't a single line of this law that couldn't be backed fully by a democrat."
Under the law Franco-era symbols must be removed from streets and buildings [AFP]