Paul Greene, a spokesman with the RCMP, said Justin Bourque was arrested at around 12:30 a.m. The 24-year-old Bourque had been wanted after the shooting Wednesday evening in the northwest area of the city.
Frightened residents had huddled in their homes for a second night as police scoured the eerily quiet streets in search of Bourque.
A motive for the shootings was not known, and Bourque's neighbors described a withdrawn man who collected guns and was an avid hunter of birds, deer and moose.
Bourque, who was armed with high-powered long firearms, was spotted three times Thursday but still managed to elude the massive manhunt that all but shut down this city of 69,000 people about 180 miles (290 kilometers) east of the Maine border.
Dozens of police officers with their weapons drawn could be seen in a part of the search area, some glancing around buildings. Others, including members of a tactical unit, were patrolling streets within the cordoned off area. Armored security trucks were also visible.
Bourque was wearing military camouflage and carrying two rifles in a picture released by police on Twitter.