There are three cases where you should use a semicolon to separate independent clauses:
When there is no coordinating conjunction between clauses.
When there are three or more clauses.
When there are commas (for any other reason) in any one of the clauses.
The last two rules hold even if there is a coordinating conjunction between the clauses. You can almost think of the case where you use a comma (two clauses with a conjunction) as an "exception" (but not really since it's the most common case).
Your example fits case #3; so yes, the semicolon is correct.
For example, the Chicago Manual of style has:
In formal prose, a semicolon may be used instead—either to effect a stronger separation between clauses or when the second independent clause has internal punctuation (6.59). (my emphasis)
Semicolons can be used in place of commas when a series of items contains internal punctuation (6.60).
Some have interpreted "series of items" to mean only a list, but it is entirely reasonable for the "series" to consist of independent clauses, as they're larger-order constructs than lists, and 6.59 at least permits the semicolon even if it doesn't mandate one.