疫病の流行により朝廷は863年(貞観5年)、神泉苑で初の御霊会(ごりょうえ)を行った。御霊会は疫神や死者の怨霊などを鎮めなだめるために行う祭で[2]、疫病も恨みを現世に残したまま亡くなった人々の怨霊の祟りであると考えられていた[3]。しかし、その後も疫病の流行が続いたために牛頭天王を祀り、御霊会を行って無病息災を祈念した。
869年(貞観11年)、全国の国の数を表す66本の矛を卜部日良麿が立て、その矛に諸国の悪霊を移し宿らせることで諸国の穢れを祓い、神輿3基を送り薬師如来を本地とする牛頭天王を祀り御霊会を執り行った。この869年(貞観11年)の御霊会が祇園祭の起源とされている。
御霊会が生まれた直接の背景は、平安京がもともとが内陸の湿地であったために高温多湿の地域であったこと、建都による人口の集中、上下水道の不備(汚水と飲料水の混合)などにより、瘧(わらわやみ=マラリア)、裳瘡(天然痘)、咳病(インフルエンザ)、赤痢、麻疹などが大流行したこと。その原因が、先に大水害により挫折した長岡京遷都工事中に起きた藤原種継暗殺事件で無実を訴えながら亡くなった早良親王ら6人の怨霊の仕業との陰陽師らによる権威ある卜占があったこと、などである。さらに、1世紀後の970年(安和3年)からは毎年行うようになったとされる。これらの祭式は神仏混淆の儀式として成り立っていた。真夏の祭となったのは、上水道も冷蔵庫もなかった時代は、真夏に多くの感染症が流行し多くの人々が脱水症状等で亡くなったことが原因の一つと考えられる。
中世の一時期、祇園社(現・八坂神社)は北野天満宮と共に比叡山の支配下に置かれた時期があった。この時期、祇園社は日吉神社の末社とされ、日吉神社の山王祭が行われない時に祇園御霊会も中止・延期させられる原因となった。
さらに室町時代に至り、四条室町を中心とする(旧)下京地区に商工業者(町衆)の自治組織両側町が成立すると、町ごとに風情を凝らした山鉾を作って巡行させるようになった。応仁の乱の中断後の1533年(天文2年)には、先述の理由による延暦寺側の訴えにより、祇園社の祭礼が中止に追い込まれたが、町衆は「神事これ無くとも山鉾渡したし(神社の行事がなくても、山鉾巡行だけは行いたい)」という声明を出し、山鉾行事が既に町衆が主体の祭となっていたことを伺わせる。応仁の乱での33年の中断や第二次世界大戦での中断等はあるものの、廃絶することなく現在まで続けられており、1000年を超える歴史がある。
室町時代以来、祇園祭のクライマックスは山鉾巡行であるが、現在では「巡行の前夜祭」である宵山に毎年40万人以上の人が集まるため、祇園祭といえば宵山を先に思い描く人も多い。