On Saturday night, the state Transportation Department closed the temporary crossing that had been in place and crews worked overnight to slide the permanent section into place.
The work was expected to take about 12 hours, but cutting through the thick steel plates that secured the temporary span to the bridge piers took longer than expected, according to WSDOT.
The job ended up taking 19 hours, and the span reopened to traffic just before 2 p.m.
"I want to acknowledge the tremendous work of the entire team who worked on this bridge," said Gov. Jay Inslee. "This is an effort we can all be very proud of. I also want to thank the residents and businesses in the Skagit Valley. I know this caused significant disruptions for many, but people remained patient and optimistic and we pulled through. We now have the permanent bridge in place and Skagit Valley is open for business."
Travis Phelps, a DOT spokesman, said the bridge swap was a daunting task, requiring the removal of a temporary span that weighs 500 tons and the installation of a permanent span that is some 900 tons.
The overnight replacement was designed to minimize traffic impacts at the crossing that carries roughly 70,000 vehicles a day.
Officials had been working toward this moment ever since an oversize truck load hit the bridge on May 23, sending one 160-foot section and two vehicles with three people into the water. No one was killed.
Traffic was detoured for a month through Mount Vernon and Burlington until a temporary span was installed.
The total cost of removing the temporary span and installing a permanent replacement is $8.5 million - paid by federal emergency relief funds. The contractual deadline for the permanent replacement span is the beginning of October.
Along with the permanent span installation, the state is planning additional nighttime bridge closers in the coming weeks because crews also plan to retrofit the overhead bridge supports.