The general source of Congressional powers is Article I, Section 8 of the Constitution. Though it is a bit long, I'm including the text of this section here because of its important to my thesis and because I think more people need to be familiar with it.
The Congress shall have Power To lay and collect Taxes, Duties, Imposts and Excises, to pay the Debts and provide for the common Defence and general Welfare of the United States; but all Duties, Imposts and Excises shall be uniform throughout the United States; (cl. 1)
To borrow Money on the credit of the United States; (cl. 2)
To regulate Commerce with foreign Nations, and among the several States, and with the Indian Tribes; (cl. 3)
To establish an uniform Rule of Naturalization, and uniform Laws on the subject of Bankruptcies throughout the United States; (cl. 4)
To coin Money, regulate the Value thereof, and of foreign Coin, and fix the Standard of Weights and Measures; (cl. 5)
To provide for the Punishment of counterfeiting the Securities and current Coin of the United States; (cl. 6)
To establish Post Offices and post Roads; (cl. 7)
To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries; (cl. 8)
To constitute Tribunals inferior to the supreme Court; (cl. 9)
To define and punish Piracies and Felonies committed on the high Seas, and Offences against the Law of Nations; (cl. 10)
To declare War, grant Letters of Marque and Reprisal, and make Rules concerning Captures on Land and Water; (cl. 11)
To raise and support Armies, but no Appropriation of Money to that Use shall be for a longer Term than two Years; (cl. 12)
To provide and maintain a Navy; (cl. 13)
To make Rules for the Government and Regulation of the land and naval Forces; (cl. 14)
To provide for calling forth the Militia to execute the Laws of the Union, suppress Insurrections and repel Invasions; (cl. 15)
To provide for organizing, arming, and disciplining, the Militia, and for governing such Part of them as may be employed in the Service of the United States, reserving to the States respectively, the Appointment of the Officers, and the Authority of training the Militia according to the discipline prescribed by Congress; (cl. 16)
To exercise exclusive Legislation in all Cases whatsoever, over such District (not exceeding ten Miles square) as may, by Cession of particular States, and the Acceptance of Congress, become the Seat of the Government of the United States, and to exercise like Authority over all Places purchased by the Consent of the Legislature of the State in which the Same shall be, for the Erection of Forts, Magazines, Arsenals, dock-Yards, and other needful Buildings;--And (cl. 17)
To make all Laws which shall be necessary and proper for carrying into Execution the foregoing Powers, and all other Powers vested by this Constitution in the Government of the United States, or in any Department or Officer thereof. (cl. 18)
Each of these provisions is generally referred to as a clause such that Art. I, sec. 8, cl. 1 refers to the text starting with "The Congress shall have Power...", Art. I, sec. 8, cl. 2 refers to the text starting with "To borrow Money...", etc.
For clarity and ease of reference, I have inserted in italicized parentheses the number of each clause in the above text, which italicized text is not a part of the text.
The clauses we will be most concerned with are: 1, 3, 4, 14, 17, and 18. So let's begin.
At first glance, this clause would seem to provide the best claim to Congressional power to legislate generally that English shall be the official language of the U.S. by way of its "provide for the ... general Welfare of the United States" language. However, the clause as a whole sets forth that the power in question is to lay and collect taxes, etc., in order to provide for, among other things, the general welfare of the U.S. As such, the language in question does not, in fact, provide any means of legislating an official language.
The "commerce clause" as it is often called, would provide Congress with some limited authority to legislate English as the official language of interstate commerce and probably a fair amount of intrastate commerce (provided that such commerce had sufficient affects on interstate commerce pursuant to the Heart of Atlanta test and its progeny). Nonetheless, this would only apply to commerce, not government services, and thus would not really have the effects that most proponents of official language laws would seem to desire.
Under its powers of establishing naturalization laws, Congress could pass a law requiring that any person wishing to become a citizen of the United States pass some sort of English language fluency test. But there's a big difference between a fluency test and a requirement that you use English.
A requirement that one must speak English would nearly certainly fall afoul of the First Amendment's prohibition on laws abridging the freedom of speech. Such a law simply would not be able to meet the strict scrutiny test absent some bizarre departure from precedent that it is exceedingly unlikely that the Supreme Court would ever make (yes, even the current Court).
Congress could pass a law making English the official language of the land and naval forces. I expect that such a language requirement already exists in some form or another. Absent officially drafting every single person into the armed forces, though, such a law would not apply to the vast majority of people. Further, it would only apply in so far as it related to governing and regulating the armed forces and to the extent not so limited would almost certainly founder on First Amendment grounds (see the discussion above regarding Clause 4). This also ignores the constitutionality of drafting everybody into the armed forces.
Congress could make English the official language of the District of Columbia, however this would apply only to the District's local government and not the Federal government.
This clause, like the commerce clause, is potential treasure trove of otherwise unenumerated powers. Many laws that are seemingly otherwise unconstitutional have survived under the grounds of being "necessary and proper" to carry out some other power (usually some power derived from the broad commerce clause powers the Federal government has garnered over time). But the phrase is "necessary and proper" not "convenient and proper". While there's an argument that making English the official language would be significantly more convenient, I do not believe it would be possible to show it to be necessary in any way. Certainly not as a blanket policy.
Absent a Constitutional amendment, I do not believe that Congress has the power to make English (or any other language or combination of languages, for that matter) our official language. It could enact legislation in certain specific areas, but those areas are limited and would not serve the policy objectives of most people who seem to propound such a law. As to whether or not individual States could pass such a law, it may be possible. But they would need to do so without running afoul of federal civil rights laws, due process rights, right to counsel, and provisions of their own constitutions which may affect such laws.