Up to 3500 homes were left without power in Elgin and Lossiemouth on Monday morning.
The outage, which began at around 9.10am, was caused by a downed power cable and a technical fault on the line.
A spokesman for operators SSE said the faults were not connected. Power was restored to the vast majority of homes by 11.50am.
Twenty-one homes remained without power while engineers carried out final repairs to the line.
SSE added: “There are two faults ongoing, a power cable down and a technical fault. It is a coincidence they have happened at the same time.
“We had 3500 people off supply, which had been reduced to around 2000 by 11.30am."