It happened Wednesday around 9:50 p.m. in the 800 block of Frederick St.
Police say a 33-year-old man and 32-year-old man, both from Oshkosh, were fighting and each had a gun. Police say a shot was fired during the disturbance and the 32-year-old man took off with both guns.
Police say the man with the guns then gave one to an 18-year-old man. Police say the armed men hid the guns in a neighboring garage and went into a house before being arrested.
No one was injured in the incident.
All three men were brought to the Winnebago County Jail.