The governor's action was final step to remove the flag, which has been a source of contention for years. The issue of the flag recently came to the fore again after nine people were killed in the historically black Emanuel AME Church in Charleston in a racially charged killing.
The flag is set to be removed at 10 a.m. Friday. Once it is removed, it will be taken to the Confederate Relic Room and Military Museum, just blocks from the capitol grounds.
The state's House of Representatives approved the bill by a margin greater than two-thirds early Thursday morning after 13 hours of debate. The state's senate passed the measure earlier.
"Today, as the Senate did before them, the House of Representatives has served the State of South Carolina and her people with great dignity," Haley said in a statement after the House vote. "I'm grateful for their service and their compassion. It is a new day in South Carolina, a day we can all be proud of, a day that truly brings us all together as we continue to heal, as one people and one state."
The flag has flown on the grounds of the State Capitol since the early 1960s in a protest against the civil rights movement.
Haley was flanked by state legislators, former governors and relatives of the nine people killed at Emanuel AME on June 17. Haley said that each of the families will receive one of the pens she used to sign the bill, and she paid reverence to the victims during her speech.
"The action of nine individuals laid out this long chain of events that forever showed the state of South Carolina what love and forgiveness looks like," she said.