At least one person is said to be injured following the shooting at the al-Noor Islamic Centre.
The shooter, described as a white man wearing a helmet and uniform, stormed the mosque during a prayer.
People inside reportedly managed to restrain the man after he shot one person as emergency services raced to the scene.
Police have since arrested a man in connection with the shooting which took place at aorund 4pm local time.
Irfan Mushtaq, at the scene, told local media: “One of our members has been shot by a white man wearing a helmet and uniform.”
Other witness reports described hearing two or three shots, with one saying: “There is complete chaos here now.”
Police in Oslo posted on Twitter that there had been a “shooting incident”.
The tweet continued: “One person is shot. Their injuries are unknown. A perpetrator has been arrested.”
In a further tweet, investigators wrote: “Nothing indicates that there have been more people involved.”
MORE TO FOLLOW