Původní osada vznikla asi kolem roku 950. Až do poloviny 12. století nejsou žádné zprávy. Název pochází z rodového jména Evan (Ivan), které bylo později přeneseno na osadu, kterou obývali potomci Evanovici. Osada tak dostala název Evanovice.
Prvními historicky doloženými majiteli ivanovicého panství byli Johanité (záznam z roku 1183).
Johanité si Ivanovice velmi oblíbili a jejich velkopřevor Jindřich z Neuhauzu jim dal roku 1302 mnohé výsady (privilegia). Někdy od druhé poloviny 13. století byly Ivanovice vysazeny na městečko. Měly vlastní soud včetně práva hrdelního. V 18. století mu bylo podřízeno 26 okolních obcí. Poslední poprava stětím za vraždu dítěte, byla provedena v roce 1747.
Řád Johanitů měl Ivanovice s nejbližším okolím v držení asi 300 let. V roce 1490 je získal do zástavy kancléř Moravského markraběte Matyáše Korvína, varadínský biskup a správce olomoucké diecéze Jan Filipec. Ivanovice prošly rukama velkým množstvím majitelů od rytířského řádu sv. Jana Jeruzalémského až po císařskou rodinu Habsburků. Posledním majitelem, a to až do konce první světové války, byl bavorský král Ludvík III. Bavorský se svou manželkou Marií Terezií d´Este. Ve dnech 4.–7. května 1914 navštívila královna Marie Tereza d´Este a král Ludvík III. Bavorský Ivanovice na Hané. Na fotografie z návštěvy Jejího Veličenstva krále a Jejího Veličenstva královny bavorské se můžete podívat zde⇗.
Dne 19. ledna 1909 byly Ivanovice povýšeny dekretem císaře Františka Josefa I. na město a z 22. března 1909 povolení k užívání znaku města tímto dekretem. Ve stejném roce byla povolena změna názvu města s přívlastkem "na Hané".
Ivanovice na Hané jsou v současné době sídlem správy mikroregionu Ivanovická brána. Svazek obcí mikroregionu Ivanovická brána byl zaregistrován 12. února 2004 a tvoří jej celkem 11 obcí (původně 12, Hoštice-Heroltice vystoupili v roce 2014): Ivanovice na Hané, Dětkovice, Orlovice, Topolany, Křižanovice u Vyškova, Medlovice, Moravské Málkovice, Prusy-Boškůvky, Rybníček, Švábenice a Vážany.