Speaking with reporters on his campaign plane, Obama noted the Arizona senator was a onetime opponent to the tax cuts, and said he has since reversed his position for political reasons.
"That was how, I guess, you got your ticket punched to be the Republican nominee," he said. "But he was right then, and he's wrong now."
McCain has said he supports the tax cuts now because of the economic slowdown and the stimulus potential they offer.
Obama also said he is against the tax cuts because they are an example of a "flawed fiscal policy."
"The notion that we would pile up more mounds of debt, literally borrowing hundreds of billions of dollars to pay for tax breaks for people who don't need them and weren't even asking for them I think is unfortunate," he said. "And I think it's an example of the kinds of flawed fiscal policies that have gotten us in such a hole under this administration and a republican congress."
UPDATE: Responding to Obama's remarks, McCain said later Thursday "it’s very clear that I voted to make those tax cuts permanent on several times."
"Senator Obama has stated very clearly his desire to increase Americans’ taxes," he added. "That will be one of the great debates we have if he is the nominee of his party. He wants to raise Americans’ taxes and put more of their money into the hands of the government. I want to keep it in the wallets and purses of the American people."
– CNN's Chris Welch contributed to this report