Goals from Ehsan Hajsafi and Masoud Shojaei were enough to move the three-time tournament winners into second in Group C
Ehsan Hajsafi and Masoud Shojaei scored either side of half-time for Iran, who were roared on by the vast majority of the 17,712-strong crowd in Melbourne on Sunday.
Hajsafi opened the scoring in first-half stoppage time when his volley looped under the bar after Bahrain had partially cleared a corner, while Shojaei doubled Iran's lead in the in the 71st minute from another set piece.
Iran showed plenty of power down the flanks, guile in midfield and defensive solidity and, barring a number of dubious offside calls, could have won by more than two goals.
But that was the only real negative for coach Carlos Queiroz, as his team moved into second position in Group C behind United Arab Emirates, who thrashed Qatar 4-1 in the earlier match.
Iran supporters had been raucously cheering their team for at least half an hour before the game began but it was Bahrain who made the brighter start.
Jaycee John struck an audacious volley just wide, while Sayed Shubbar should have done better with his free header in the 16th minute, following Sami Al Husaini's clever chip over Iran's defence.
But after Bahrain's early flurry, Iran began to create some opportunities of their own, with Ashkan Dejagah failing to convert a one-on-one chance in the 20th minute.
Two minutes later Reza Ghoochannejhad dinked the ball to a marginally offside Hajsafi, who picked out the top corner and was consequently booked, while Morteza Pouraliganji volleyed over the bar from a free-kick.
Iran also had the ball in the net on the half-hour mark but were again denied by the offside flag and, after dominating the rest of the first period, Queiroz's side deservedly hit the front just before the break when Hajsafi volleyed home.
The Persians could have doubled their lead immediately after the restart with Ghoochannejhad bursting onto Hajsafi's pass before firing wide.
The miss was moot, however, as the Charlton Athletic striker would have been denied a goal due to an incorrectly raised offside flag.
But apart from Ghoochannejhad's chance, the opening 15 minutes of the second half were rather tame, before John did well to bring down a long ball and then cracked a shot on target that Iran goalkeeper Alireza Haghighi could only parry.
Another poor offside call thwarted Iran in the 63rd minute as Ghoochannejhad tapped in from Shojaei's cut-back.
But there was no problem eight minutes later when Shojaei volleyed Andranik Teymourian's corner inside the far post to cap off a fine performance by Iran.