"For the first time, I saw a leader distributing sweets for his own party's defeat as its candidates lost their deposits in the Uttar Pradesh bypolls," he said, addressing a rally to mark the BJP's 38th Foundation Day.
"You are celebrating our defeat in two by-elections. We snatched 11 states from you," Mr Shah said at the event, which is being seen as heralding the BJP's launch of the 2019 Lok Sabha poll campaign.
"What is the loss of two bypolls to the Lok Sabha? The BJP rules 70 per cent of the country now. From two MPs once, we have 330 MPs and 1,600 (state) legislators" now under Prime Minister Narendra Modi's leadership, he said.
"But our golden period is yet to come. It will come when we win Odisha, West Bengal and return to power in 2019 with an absolute majority under Narendra Modi and in Maharashtra, under (Chief Minister) Devendra Fadnavis," the BJP chief added.
Asking the party workers to ensure that the central government's welfare schemes and policies reach the last man in the society, Mr Shah said, "All karyakartas (workers) should work to achieve Modi's dream of a New India."
Mr Shah said Mr Gandhi was spending more time with Nationalist Congress Party chief Sharad Pawar these days.
"Rahul baba is asking us what has the Modi government done in four years, but the people of the country are seeking a report of development from four generations of his family," he said.
Asked by reporters after the rally if the BJP was taking Mr Gandhi seriously as an opposition leader, Shah said, "Rahul is the Congress president now, so we will talk about him."
On RSS chief Mohan Bhagwat's remark that the Sangh did not endorse the BJP's "Congress-mukt Bharat" slogan, Mr Shah said, "It was a political slogan. The RSS is not a political organisation and when we say Congress-mukt Bharat, we mean getting rid of the Congress culture and not the party organisation."
Get the latest election news, live updates and election schedule for Lok Sabha Elections 2019 on ndtv.com/elections. Like us on Facebook or follow us on Twitter and Instagram for updates from each of the 543 parliamentary seats for the 2019 Indian general elections.